IPFS搭建私有网络

本文详细介绍了如何创建和管理一个私有的IPFS网络。首先,使用go-ipfs-swarm-key-gen工具生成共享密钥,并将其分发到所有节点。接着,通过scp命令将密钥部署到各服务器,并删除默认的启动节点,添加私有网络中的节点作为新的启动节点。最后,验证所有节点已相互连接,并通过上传及下载数据进行测试,确保私有IPFS网络的正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

共享密钥

私有网络所有的节点必须共享同一个密钥。

首先我们使用密钥创建工具,创建一个密钥。

下载地址:https://github.com/Kubuxu/go-ipfs-swarm-key-gen
go get -u http://github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen

然后创建密钥:

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

创建完密钥后放在自己的ipfs默认配置文件夹下面(~/.ipfs/)

上传密钥到B,C,D的节点上面

使用scp将密钥文件上传到了其他三台服务器上面:

scp -i ss-server.pem ~/.ipfs/swarm.key root@13.114.30.87:~/.ipfs/
scp -i ss-server.pem ~/.ipfs/swarm.key root@13.230.162.124:~/.ipfs/
scp -i ss-server.pem ~/.ipfs/swarm.key root@13.231.247.2:~/.ipfs/

由于服务器ipfs节点初始化的时候都是采用的默认设置(ipfs init),所以把密钥放到 ~/.ipfs/ 这个文件夹下面就可以了。

添加启动节点

ipfs init后的默认启动节点是连接ipfs公网的节点,如果要连接私有网络,在每一个节点执行下面的操作,删除掉所有的默认启动节点。

ipfs bootstrap rm —all

然后添加一个自己的默认节点(私有网络中的一个节点),默认节点可以是A,B,C,D中的任何一个。

我们选取了D节点作为启动节点,在A,B,C节点执行下面的操作,把D节点的地址添加到A,B,C节点里面。

ipfs bootstrap add /ip4/13.114.30.87/tcp/4001/ipfs/Qmc2AH2MkZtwa11LcpHGE8zW4noQrn6xue7VcZCMNYTpuP

启动并查看各个节点

在每个节点服务器上执行

ipfs swarm peers

我们发现四个节点相互链接在了一起,这就是我们私有ipfs网络

在私有网络里面做一些简单的测试:

我们在本地节点A上面数据:

$ ipfs add dddd.dmg
added QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg dddd.dmg

在其他几个节点下载数据:

~/ipfs$ ipfs get QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg
Saving file(s) to QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg
149.80 MB / 149.80 MB [=======================================] 100.00% 2m58
~$ ipfs get QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg
Saving file(s) to QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg
149.80 MB / 149.80 MB [=======================================] 100.00% 2m58s
~$ ipfs get QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg
Saving file(s) to QmbZ7NWHbP5edCF4BvSvfW97MdpZhcwZ3WJTp3Cd3od9Vg
149.80 MB / 149.80 MB [=========================================] 100.00% 2s

成功!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值