ipfs - ipfs 文件 ls 似乎无法配置为专用网络
问题描述
当配置为专用网络时,“ipfs 文件 ls”不返回任何内容(尽管许多文件已加载并通过该特定对等方的 webui 可见。当网络是公共的时它确实工作正常。nodejs 客户端 ipfs.files.ls也不返回任何东西。这是由于我的节点配置错误吗?有什么办法吗?谢谢。
解决方案
有趣的。我似乎无法重现这种行为,你运行的是什么版本的 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 服务以强制执行专用网络(路径可能会有所不同)
Environment="LIBP2P_FORCE_PNET=1"
在下面添加[Service]
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
推荐阅读
- grep - grep xcov 结果转换为 fastfile 中的变量
- c# - REST:按属性命名 GET 路由
- amazon-web-services - Create new instances in AWS Elastic Beanstalk programmatically
- python - DocuSign API:按标签填充模板的 PDF 表单字段时,为什么文本选项卡在每个文档的左上角重复?
- intellij-idea - IntelliJ Jetty 插件不提取战争
- mysql - MySQL Kubernetes
- django - 电子商务的 Rest-framework 资源中的 Django 后端
- postgresql - 如何在 PostgreSQL 的函数内返回动态 SELECT 的结果?
- javascript - 使用 $_GET 回显输入值属性
- typescript - How to declare a getProperty function in Typescript correctly?