有趣。我似乎无法重现这种行为,您运行的是什么版本的 IPFS?
以下是我使用 MFS 工作(全新安装)设置专用网络的方法:
初始化 IPFS 存储库
ipfs init
生成群密钥
go get github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen
cd ~/go/bin/
./ipfs-swarm-key-gen > ~/.ipfs/swarm.key
删除默认引导
ipfs bootstrap rm --all
添加新的引导程序(如果需要)
ipfs bootstrap add <multiaddr>
编辑 systemd 服务以强制执行专用网络(路径可能不同)
在[Service]下方添加Environment="LIBP2P_FORCE_PNET=1"
sudo vim /usr/lib/systemd/user/ipfs.service
启动 IPFS 守护进程
systemctl --user start ipfs
检查 MFS
ipfs files ls /
没有输出,因为我们刚刚初始化
将文件添加到 MFS
echo "Hello world" > hello
ipfs add hello
ipfs files cp /ipfs/QmePw8gVcBMb8x6kAep6aMBAX23hCSk6iZW3i9VKkiFhu1 /hello
再次检查 MFS
ipfs files ls /
正确举报hello
确认私网确实在使用
systemctl --user stop ipfs
mv ~/.ipfs/swarm.key ~/.ipfs/swarm.key.bk
systemctl --user start ipfs
systemctl --user status ipfs
如果正在强制执行专用网络,您应该会看到守护程序无法启动。
将私钥移回
mv ~/.ipfs/swarm.key.bk ~/.ipfs/swarm.key