如何在linux正确的进行配置?
配置环境:
ubuntu18.04
ubuntu 20.04
下载对应的go-ipfs压缩包:
go-ipfs_v0.9.1_linux-amd64.tar.gz
压缩包地址:https://docs.ipfs.io/install/recent-releases/(需要翻墙)或者 https://github.com/ipfs/go-ipfs/releases
源码:https://github.com/ipfs/go-ipfs
官网:https://docs.ipfs.io/install/(需要翻墙)
1.解压并执行脚本文件
tar zxvf go-ipfs_v0.9.1_linux-amd64.tar.gz -C ../
cd ../go-ipfs
./install.sh
输出如下:
2.ipfs 初始化以及查看相关id命令
ipfs init
ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme //根据init而来
ipfs id
输出如下:
最终的.ipfs文件夹存放在/root/下面(通过ipfs init可得),路径可根据当前ubuntu 用户而定,此处我用的root权限。
cd /root/.ipfs/
文件夹如下:
.ipfs为节点的存储目录,里面存在6个文件(文件夹)内容:
blocks:文件块内容
conifg:配置文件
datastore_spec:存储本地数据
keystore:存储公私钥对
version:版本信息
3.修改配置文件config
把配置文件中的Address下的API 和 Gatway 的IP地址改为自己的本地地址
4.开启节点
ipfs daemon
输出如下:
其中有一个failed: 未能充分增加接收缓冲区大小,具体怎么解决还在查找中
failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB). See https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size for details.
此处节点就正常开启了。
在浏览器中输入图中的WebUI:http://192.168.12.177:5001/webui,就会弹出:
此处显示“Could not connect to the IPFS API”,遇到不要慌,此时根据下面的3点进行相关查找问题,如果是本地进行文件交互存储,可以不用管此警告,能正常使用,反之则进行2的配置。
5.ipfs命令 测试
命令详解参考:http://cw.hubwiz.com/card/c/ipfs/1/8/8/
对文件的测试操作如下:
ipfs pin ls //查看当前的已有的
ipfs add filename
当上传重复的文件时,所产生的hash 是相同的,这也是ipfs的原理机制中的。
具体请查看ipfs的原理如下:
参考:https://www.pseudoyu.com/zh/2021/03/25/blockchain_ipfs_structure/
删除文件
ipfs pin rm hash
添加引导节点
ipfs bootstrap add /ip4/192.168.12.177/tcp/4001/p2p/12D3KooWCNbt2BqDenD7wpJjTjCm6QBSWmN2MDcQxy1zwpb9ig89
ipfs bootstrap list
ipfs bootstrap rm
ipfs bootstrap rm --all 移除默认的boostrap节点
add后就可以通过ipfs bootstrap list 进行查看,/ip4/..... 这一部分可以根据ipfs id命令得到相应的数据。
这个时候就可以进行交互了,本机尝试的为同一电脑两个虚拟机进行交互。
后续会补上不同电脑间的交互。
参考:
http://cw.hubwiz.com/card/c/ipfs/1/8/8/
https://www.pseudoyu.com/zh/2021/03/25/blockchain_ipfs_structure/