区块链研究-星际文件系统IPFS之Windows环境安装及使用入门
最近,应项目组需求,研究了与区块链结合应用的星际文件系统IPFS的使用入门,下面就IPFS的Windows环境安装和入门使用进行介绍。
1. 下载go-ipfs
在官网下载对应的go-ipfs软件,注意选择适合自己机器的版本
2. 解压对应的压缩包并安装
解压下载的压缩包,cmd进入到对应目录,如D:360安全浏览器下载go-ipfs_v0.4.13_windows-amd64go-ipfs,执行ipfs init指令,结果如下:
成功执行后,会在对应用户目录下产生一个.ipfs文件夹,如C:Userswht.ipfs,文件的目录结构如下:
3. 执行命令 ipfs daemon 启动节点服务器
至此,完成了节点的成功启动的工作,启动节点的目的主要包含:1).加入IPFS网络;2).启动本地HTTP服务器,默认端口为8080;3).处理后续IPFS客户端的指令。
1. 打开客户端
新建一个cmd窗口,进入对应的go-ipfs目录,执行ipfs id以查看当前节点标识:2. 查看当前ipfs的配置
执行指令 ipfs config show,执行结果如下,查看具体的ipfs配置信息:若需要修改对应的配置信息,先导出当前配置文件,执行ipfs show config > config.conf,然后修改对应的导出文件,再执行ipfs config replace ipfs.conf 更新配置,重启服务器就生效了。当然,修改配置也可以直接用 ipfs config edit。
3. 添加文件
我当前的文件目录为:在当前目录下新建一个文件夹,fileTest,在fileTest下新建一个文件夹test,在test目录下新建一个README.md文件,写入Success!,然后执行指令 ipfs add -r fileTest,结果如下:
add指令会将刚才的根目录下的所有文件加入到网络中,并为访问三个目录生成了不同的多重哈希节点ID
addedQmXnA3jtjcthBbgrkx8eeJX9YrvFT7BRJVxvhvkpKGEUPk fileTest/test/README.md
addedQmZiBRkXJVvunKhxaUDtjhTfffXqZgxYiRSKKJBKYLwwEm fileTest/test
addedQme6jkYWEMekhe5QJpYvVYdExukitcCQxFQvz2gYShT2am fileTest
完成了上述添加步骤之后,我们就可以使用
ipfs cat /ipfs/QmXnA3jtjcthBbgrkx8eeJX9YrvFT7BRJVxvhvkpKGEUPk,查看README.md的内容了,上述指令成功地获取了README.md中的内容:
当然,也可以通过HTTP浏览器访问,记得默认端口为8080,访问的URL如下:
http://localhost:8080/ipfs/QmXnA3jtjcthBbgrkx8eeJX9YrvFT7BRJVxvhvkpKGEUPk
4. 获取文件
使用指令ipfs get + hashID
5. 绑定节点名
每次修改文件后,add都会返回不同的哈希,这对于网站来说就没法固定访问地址了,所以我们需要使用ipns来绑定节点名。上面的fileTest的目录的hash ID为Qme6jkYWEMekhe5QJpYvVYdExukitcCQxFQvz2gYShT2am,我们将整个目录作为节点根目录发布,执行:
ipfs name publish Qme6jkYWEMekhe5QJpYvVYdExukitcCQxFQvz2gYShT2am
然后我们就可以通过 ipns 访问了,注意是 ipns:
ipfs cat /ipns/Qma9HnEJyV7ZcLEXt9tob6kAUi7ioDHSgvXcXuNJNRTVtA/test/README.md,其中的Qma9HnEJyV7ZcLEXt9tob6kAUi7ioDHSgvXcXuNJNRTVtA是客户端的ID。这边就将文件的根目录与节点名绑定在以前,可以通过节点名加上对应的路径访问文件。
6. DNS解析
IPFS 允许用户使用现有的域名系统,这样就能用一个好记的地址来访问文件了。 1.IPFS 是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议;2.我们可以用它来存取文件,数据永不丢失;
3. 应用可以用它来做数据库,自动拥有版本化、缓存及分布式特性;
4.官方参考实现使用golang编写,JavaScript、Python、C 等不同版本语言在陆续开发中;
5.总之,IPFS 是一套非常厉害的文件系统。
- 上一篇:没有了
- 下一篇: MongoDB实战-使用EXPLAIN分析慢查询