网络知识 娱乐 如何在IPFS里面上传下载文件

如何在IPFS里面上传下载文件

1 下载IPFS软件

下载地址:https://dist.ipfs.io/#go-ipfs

打开这个地址后网页会根据你的当前操作系统自动为你选择可供下载的版本,这个页面上有很多ipfs相关的软件下载,看清楚下载 go-ipfs, 这是IPFS的go语言版本实现,IPFS目前还有 js版本和 python版本

2 安装

windows:自己选择一个文件,把软件解压缩进去,然后打开命令行,定位到刚才的文件夹下

执行:

ipfs help
USAGE:
ipfs - Global p2p merkle-dag filesystem.
...

得到上面的信息,恭喜你ipfs安装成功了

Mac 和 Linux:执行 tar xvfz go-ipfs.tar.gz解压缩刚才下载的文件,然后在解压缩的文件夹下执行: ./go-ipfs/install.sh,完成后软件就安装好了,然后:

ipfs help
USAGE:
ipfs - Global p2p merkle-dag filesystem.
...

得到上面的信息,恭喜你ipfs安装成功了

3 配置ipfs

在命令行里面执行:

ipfs init

$ ipfs init

generating ED25519 keypair...done

peer identity: 12D3KooWCztepRk8HLJLZ6JLwksX7xYYQxfYLe1QZod3MkS4whYo

initializing IPFS node at /Users/hepburn/.ipfs

to get started, enter:

ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme

上面的输出结果,表明ipfs的初始化配置完成,ipfs生成了一个节点id(peer identity),这个字符串就代表了你运行的ipfs节点。

查看节点ID:

ipfs id

修改节点配置文件:

cd ~/.ipfs
export EDITOR=/usr/bin/vim
ipfs config edit

跨域配置:

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST", "OPTIONS"]'

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'

查看ipfs的readme:

该readme默认被添加ipfs

ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme

将会看到如下的画面:

查看ipfs的命令:

ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/quick-start

或者 访问这个页面:https://ipfs.io/docs/commands/​​​​​​​

4 节点上线

执行命令:

ipfs daemon

得到如下输出:

恭喜你,你的IPFS节点已经上线

查看你的节点都与那些节点建立了链接

打开一个新的命令行窗口,执行命令:

ipfs swarm peers

可以看到类似下面的输出,恭喜你,你可以看到截止到目前你的节点连接到到其他ipfs节点。

5 上传和下载

IPFS core软件提供了两种方式:命令行的方式和web方式

命令行:下载

执行:

ipfs cat /ipfs/your_hash > init.jpg
ipfs cat /ipfs/your_hash

例如:

ipfs cat /ipfs/QmYa44nmHnb6doH8DuKkcBSZFRwMuF66H6axHwYfNrzVYt > hello.jpg

命令行:上传

执行:

ipfs add hello.jpg

这样就上传到IPFS网络一个文件了,ipfs add 会返回一个哈希值,这个哈希值就是文件在IPFS网络的地址

命令行:上传文件夹

执行:

ipfs add -r test

命令行:添加字符串

执行:

echo "ipfs test data" | ipfs add

将字符串添加到ipfs

通过字符串hash,查找添加的内容

ipfs cat QmdnqtJeDP6eq6cM8Vn7zp1fxmnUuFUzPoX3WyiaixcaeY

ipfs test data 

 web方式:

打开浏览器,在浏览器里面输入 http://localhost:5001/webui , 就可以链接到你的节点,界面如下:

节点的基本信息:

然后点击界面的左边 Files菜单,在右边里面可以看到 Select files,这就是web界面提供的上传文件功能,只需要选中文件,点击上传就好了,

添加完成后会在下面ALL LOCAL FILES里面多出来一个哈希值,那就是你刚上传的文件,如果没看到,刷新一下网页就可以了,这个时候不要立即关掉你的节点,给点时间让其它节点缓存你的文件。缓存一旦完成,此文件将伴随着IPFS网络永久存在。​​​​​​​

这个时候你可以在浏览器里面输入:https://ipfs.io/ipfs/你的哈希值 就可以看到你的文件了,

比如: https://ipfs.io/ipfs/QmYa44nmHnb6doH8DuKkcBSZFRwMuF66H6axHwYfNrzVYt

6 关闭ipfs节点

ipfs shutdown