区块链研究-星际文件系统IPFS之Windows环境安装及使用入门

      最近,应项目组需求,研究了与区块链结合应用的星际文件系统IPFS的使用入门,下面就IPFS的Windows环境安装和入门使用进行介绍。

一. IPFS Windows环境安装配置步骤

1. 下载go-ipfs

       在官网下载对应的go-ipfs软件,注意选择适合自己机器的版本

区块链研究-星际文件系统IPFS之Windows环境安装及使用入门


2. 解压对应的压缩包并安装

       解压下载的压缩包,cmd进入到对应目录,如D:\360安全浏览器下载\go-ipfs_v0.4.13_windows-amd64\go-ipfs,执行ipfs init指令,结果如下:

区块链研究-星际文件系统IPFS之Windows环境安装及使用入门

       成功执行后,会在对应用户目录下产生一个.ipfs文件夹,如C:\Users\wht\.ipfs,文件的目录结构如下:

区块链研究-星际文件系统IPFS之Windows环境安装及使用入门

3.  执行命令 ipfs daemon 启动节点服务器

区块链研究-星际文件系统IPFS之Windows环境安装及使用入门

     至此,完成了节点的成功启动的工作,启动节点的目的主要包含:1).加入IPFS网络;2).启动本地HTTP服务器,默认端口为8080;3).处理后续IPFS客户端的指令。

二. ipfs使用入门

1. 打开客户端

      新建一个cmd窗口,进入对应的go-ipfs目录,执行ipfs id以查看当前节点标识:
区块链研究-星际文件系统IPFS之Windows环境安装及使用入门

2. 查看当前ipfs的配置

      执行指令 ipfs config show,执行结果如下,查看具体的ipfs配置信息:
区块链研究-星际文件系统IPFS之Windows环境安装及使用入门
    若需要修改对应的配置信息,先导出当前配置文件,执行ipfs show config > config.conf,然后修改对应的导出文件,再执行ipfs config replace ipfs.conf 更新配置,重启服务器就生效了。当然,修改配置也可以直接用 ipfs config edit

3. 添加文件

    我当前的文件目录为:
区块链研究-星际文件系统IPFS之Windows环境安装及使用入门
     在当前目录下新建一个文件夹,fileTest,在fileTest下新建一个文件夹test,在test目录下新建一个README.md文件,写入Success!,然后执行指令 ipfs add -r fileTest,结果如下:
区块链研究-星际文件系统IPFS之Windows环境安装及使用入门
      add指令会将刚才的根目录下的所有文件加入到网络中,并为访问三个目录生成了不同的多重哈希节点ID

addedQmXnA3jtjcthBbgrkx8eeJX9YrvFT7BRJVxvhvkpKGEUPk fileTest/test/README.md

addedQmZiBRkXJVvunKhxaUDtjhTfffXqZgxYiRSKKJBKYLwwEm fileTest/test

addedQme6jkYWEMekhe5QJpYvVYdExukitcCQxFQvz2gYShT2am fileTest

      完成了上述添加步骤之后,我们就可以使用

     ipfs cat /ipfs/QmXnA3jtjcthBbgrkx8eeJX9YrvFT7BRJVxvhvkpKGEUPk,查看README.md的内容了,上述指令成功地获取了README.md中的内容:

区块链研究-星际文件系统IPFS之Windows环境安装及使用入门

     当然,也可以通过HTTP浏览器访问,记得默认端口为8080,访问的URL如下:

http://localhost:8080/ipfs/QmXnA3jtjcthBbgrkx8eeJX9YrvFT7BRJVxvhvkpKGEUPk

     区块链研究-星际文件系统IPFS之Windows环境安装及使用入门

4. 获取文件

   使用指令ipfs get + hashID

5. 绑定节点名

     每次修改文件后,add都会返回不同的哈希,这对于网站来说就没法固定访问地址了,所以我们需要使用ipns来绑定节点名。上面的fileTest的目录的hash ID为Qme6jkYWEMekhe5QJpYvVYdExukitcCQxFQvz2gYShT2am,我们将整个目录作为节点根目录发布,执行:

ipfs name publish Qme6jkYWEMekhe5QJpYvVYdExukitcCQxFQvz2gYShT2am

然后我们就可以通过 ipns 访问了,注意是 ipns:

 区块链研究-星际文件系统IPFS之Windows环境安装及使用入门

    ipfs cat /ipns/Qma9HnEJyV7ZcLEXt9tob6kAUi7ioDHSgvXcXuNJNRTVtA/test/README.md,其中的Qma9HnEJyV7ZcLEXt9tob6kAUi7ioDHSgvXcXuNJNRTVtA是客户端的ID。这边就将文件的根目录与节点名绑定在以前,可以通过节点名加上对应的路径访问文件。

区块链研究-星际文件系统IPFS之Windows环境安装及使用入门

  6. DNS解析

         IPFS 允许用户使用现有的域名系统,这样就能用一个好记的地址来访问文件了。

三. 小结

     1.IPFS 是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议;

     2.我们可以用它来存取文件,数据永不丢失;

     3. 应用可以用它来做数据库,自动拥有版本化、缓存及分布式特性;

     4.官方参考实现使用golang编写,JavaScriptPythonC 等不同版本语言在陆续开发中;

     5.总之,IPFS 是一套非常厉害的文件系统。