ipfs私有网络搭建

环境前准备

1. 两台linux虚拟机,此处用的是两台Ubuntu16.04。
2. 安装go环境,如果没有安装请安装

apt-get install golang-go

3. 特别说明:安装的时候可能会出现以下错误:
无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
原因可能是在你终端关闭时,没有结束apt-get的进程,因此再次调用的时候就会出现上面的错误。
解决办法:强制解锁命令

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

安装ipfs

1. 先下载ipfs包,点击此处链接下载:
链接:https://pan.baidu.com/s/1uOBLmO60SUCEXHt4gAg8Jw
提取码:17y0

或者通过指令下载

sudo snap install ipfs

2. 下载后移到linux,解压。

tar xzvf go-ipfs_v0.4.15_linux-amd64.tar.gz

在这里插入图片描述
3. 进入解压后的目录下,找到install.sh编译。
在这里插入图片描述
4. 测试是否安装成功,此处只需要查看ipfs的版本即可
在这里插入图片描述

初始化ipfs

1. 两台虚拟机都需要初始化ipfs,初始化指令如下

ipfs init

2. 初始化后会在/root/目录下生成一个隐藏目录。
在这里插入图片描述
特别说明:两台虚拟机一定要做ipfs初始化,不然不会在root下生成.ipfs隐藏文件夹,因此不能存储共享key文件。

生成共享key

因为我们要组建私有网络,所有节点需要使用相同的私有key来加入网络中,我们使用go-ipfs-swarm-key-gen工具来生成共享key。
1. 搭建go-ipfs-swarm-key-gen工具(方法一)。

go get github.com/Kubuxu/go-ipfs-swarm-key-gen
cd $GOPATH
cd src/github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen/
go build

2. 搭建go-ipfs-swarm-key-gen工具(方法二)。
下载链接:https://github.com/Kubuxu/go-ipfs-swarm-key-gen
直接从github上下载go-ipfs-swarm-key-gen工具,然后移到linux下,最后进入该目录中找到main.go文件用go build编译。
在这里插入图片描述
3. 生成共享key文件

./ipfs-swarm-key-gen > /root/.ipfs/swarm.key

在这里插入图片描述
4. 执行后即可在/root/.ipfs下找到swarm.key。
在这里插入图片描述
5.将生成的key文件共享到第二台虚拟机

扫描二维码关注公众号,回复: 5697218 查看本文章
scp /root/.ipfs/swarm.key 192.168.79.189:/root/.ipfs/

或者通过Xftp工具将key文件移到第二台虚拟机的/root/.ipfs目录下。

节点配置

1.移除两台虚拟机中默认的 Bootstrap 的节点配置默认的 Bootstrap 的节点配置。

ipfs bootstrap rm –all

在这里插入图片描述
2.在第一台虚拟机中添加第二台虚拟机中的节点,如果不知道第二台虚拟机中节点的哈希值,可通过以下指令查看。

	ipfs id

在这里插入图片描述
3.通过如下指令添加节点。

ipfs bootstrap add ***

在这里插入图片描述
4.同理第二台虚拟机添加第一台虚拟机的节点亦是如此。
在这里插入图片描述

启动服务

1. 先查看虚拟机中添加的节点情况。

ipfs swarm peers

在这里插入图片描述
2. 启动服务

ipfs daemon

在这里插入图片描述

服务测试

1. 先选择好需要上传的文件,此处可以新建文件来用于测试。

echo helloworld > hello.txt

在这里插入图片描述
2. 在第一台虚拟机上添加文件

ipfs add hello.txt

在这里插入图片描述
3. 在第二台虚拟机上读取文件

ipfs cat 哈希值

在这里插入图片描述
4. 在第二台虚拟机上通过网址访问

wget http://

在这里插入图片描述
5. 通过游览器访问
在这里插入图片描述

特别说明

在外部游览器访问时,要记得修改config文件,不然是访问不了的。

vim /root/.ipfs/config

修改结果如下,主要是修改成你本机的ip即可。
也可以通过指令修改,下面介绍。 在这里插入图片描述
通过指令修改,相当于将配置文件中的ip地址直接修改成0.0.0.0

ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001
ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8080 

猜你喜欢

转载自blog.csdn.net/qq_36651243/article/details/88635790