不论你正准备参加 Filecoin 即将举办的太空竞赛(Space Race),还是要面向主网上线对自己的硬件配置进行测试,在加入 Calibration 网络时可能会碰到一些问题,这里提供一些笔者实际碰到问题及解决方法。

问题一:512MiB 扇区是否可以参与太空竞赛?

从官方工作人员在 Slack 频道的描述来看,虽然 calibration 网络支持封装 512MiB32GB64GB三种规格的扇区,但 512MiB 扇区仅用于测试用途,并不参与太空竞赛。

如果你希望参加太空竞赛,要注意硬件配置是否足够。

问题二:Filecoin 矿机(存储挖矿)的硬件配置

根据 Filecoin 官方文档中的描述,目前 Filecoin 矿机推荐的配置为:

  • CPU:8 核以上(支持 SHA 的 AMD 处理器会有一些优势)
  • 显卡:NVIDIA 显卡(封装扇区时有加成,量力而行)
  • SSD:512GB 以上(专门用作 swap 做缓存)
  • 内存:128GB 以上(封装32GB扇区的最低要求,多多益善)
  • 硬盘:官方没说,好像也不用说,多多益善,重点是注意冗余和扩容能力。

错误一:Peer IDs don't match

在执行 lotus daemon 时,一直重复显示错误 Peer IDs don't match,且始终无法成功运行守护进程。

解决方法:

这很可能与 lotus 程序版本有关,虽然你使用 ntwk-calibration 分支编译 lotus 程序,但这个分支可能随时会被官方开发团队加入新的变更,因此,直接使用这个分支可能会因为代码“太新”而产生一些不可预知的错误。

比较可靠的方法是参考 Calibration 网络主页,查看最新的 tag,比如 Tag ntwk-calibration-7.24.0,在本地编译 lotus 时,将仓库切换到对应的标签上:

~/lotus $ git checkout ntwk-calibration-7.24.0

然后再执行 make cleanmake install 进行编译。

需要注意的是,如果你已经安装过其他版本的 lotus,在编译完成之后一定不要忘了执行 sudo make install 命令把刚编译好的程序安装到系统中。

错误二:estimating gas limit: CallWithGas failed

这个错误是由于初始化 lotus-miner 节点时指定的 bls 钱包虚拟资金不足导致的,只要给钱包存入虚拟资金即可。

截止本文发布,Calibration 的水龙头还不能正常工作。

在此之前,水龙头的 send funds 功能还可以使用,但估计是被一些用户滥用,导致水龙头中的虚拟资金被耗尽。现在只能通过在 filecoin 官方的 slack #space-race 频道,找工作人员给你的 bls 钱包转账虚拟资金。

提示一: 初始化矿工节点

ntwk-calibration 分支编译出的二进制文件中多了一个 lotus-miner 程序,根据 slack 频道上官方工作人员的描述判断, lotus-miner 可能会替代原来的 lotus-storage-miner

目前初始化矿工节点可以使用以下命令格式:

$ lotus-miner init --owner=<bls钱包地址> --sector-size=<512Mib|32GB|64GB>

例如:

$ lotus-miner init --owner=t3r6kbh5a6uwjzrfzqecqqwd57m3sk2kryf3rpyzqlqjkexqgpf2j2swkbmfz3xn5v6zgeahxf3ukygdgqpgbq --sector-size=512MiB

提示二:默认存储位置变更为 .lotusminer

此前 lotus 默认存储位置在 .lotusstorage 目录,Calibration 网络已改为 .lotusminer 目录。

另外需要注意的是,原有的环境变量 LOTUS_STORAGE_PATH 即将被废弃,新的环境变量为 LOTUS_MINER_PATH