作者简介:董天一 ,IPFS/Filecoin中国区技术布道人 ,《IPFS指南》作者

毕业于北京大学软件与微电子学院
曾担任甲骨文亚洲研发中心(中国)数据库开发工程师
资深区块链技术开发者,现致力于IPFS/Filecoin在中国的技术推广


【董天一】如何在IPFS里面上传一张图片_IPFS

 

 

        之前有好几人问过小编,想在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里面上传一张图片_IPFS上传图片_02

 

    上面是在小编的电脑上的输出结果,表明ipfs的初始化配置完成,ipfs生成了一个节点id:QmceWUYdX5xjE5zVA3bW1rt4Kq326bm83hRxAkPRe3QWR8,每个人的电脑执行结果会不一样,这串字符串就代表了你运行的ipfs节点。

 

查看安装情况,然后执行: 

 

ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

 

将会看到如下的画面:

【董天一】如何在IPFS里面上传一张图片_IPFS_03

 

 

如果想要详细了解ipfs的命令,可以执行下面命令查看

 

ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/quick-start

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

 

4 节点上线


执行命令:

ipfs daemon

得到如下输出:

【董天一】如何在IPFS里面上传一张图片_IPFS上传图片_04

 

恭喜你,你的IPFS节点已经上线,查看你的节点都与那些节点建立了链接

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

ipfs swarm peers

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

 

【董天一】如何在IPFS里面上传一张图片_IPFS_05

 

5 上传和下载


注意:切不可上传隐私文件,你不想你的xx照终生伴随这个IFPS网络吧?小编正在酝酿写一篇关于IFPS下的个人隐私保护的文章

 

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

 

命令行:下载

执行

 ipfs cat /ipfs/your_hash > init.jpg

 ipfs cat /ipfs/your_hash

例如:

ipfs cat /ipfs/QmdDTor6dWzknFJPJuhJgrUYqd56WkFXYAxyxpEY7kUrEb > init.jpg

这个hash值是小编12.8号在文章 《​​什么是IPFS?(三)​​》

里面上传的那张图片,有兴趣的可以下载来看看。

 

【董天一】如何在IPFS里面上传一张图片_IPFS_06

 

 

命令行:上传

执行:

ipfs add init.jpg

 

tt-3:go-ipfs tt$ ipfs add init.jpg

added QmdDTor6dWzknFJPJuhJgrUYqd56WkFXYAxyxpEY7kUrEb init.jpg

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

 

web方式:

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

        这是小编运行的节点的基本信息:

【董天一】如何在IPFS里面上传一张图片_IPFS_07

 

        

        从下图可以看到小编的机子已经连接了世界上385个节点了。从左边的地球上看,中国运行的节点并不多,大部分节点运行在欧洲和美国

【董天一】如何在IPFS里面上传一张图片_IPFS_08

 

        

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

 

        

【董天一】如何在IPFS里面上传一张图片_IPFS_09

 

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

 

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

比如: 

​https://ipfs.io/ipfs/QmTYrYEaebR7oxLxkkqGbs8Bmh5xqYBHKew8jN4XQgiiKS ​

这个小编刚才上传的文件

 

现在你应该已经学会了运行IPFS节点,并且学会了基本的文件上传和下载

 

End 

【董天一】如何在IPFS里面上传一张图片_IPFS_10

【董天一】如何在IPFS里面上传一张图片_IPFS_11

【董天一】如何在IPFS里面上传一张图片_IPFS_12



圆方圆区块链汇集大批区块链名师,采取导师值班制,为学员实时解决技术疑难。

更多技术文章请关注

圆方圆链圈

【董天一】如何在IPFS里面上传一张图片_IPFS_13