IPFS技术教程:如何与其他矿工建立稳定的P2P连接

来源:IPFS技术 作者:ipfs教程 阅读: 2020-09-25 11:35

  像所有对等协议的参与者一样,Filecoin矿工需要稳定且高质量的对话方式进行通信才能执行其各种功能。为了使网络上的其他参与者与矿工建立传入的P2P连接,必须满足以下条件:

  1. 其他矿工知悉该特定矿工的公共IP地址

  2. 其他矿工知悉该特定矿工使用何种传输层协议以及监听端口号

  3. 路由设备及防火墙的设置得当

650

  在进入测试网前,官方给矿工们提出了如下一些建议:

  检查peer节点的数量

  为了确保存储和检索交易的顺利进行,建议在每次启动后检查矿工连接到多少个对等方。在Lotus客户端中,可以使用命令:

  lotus-miner net peers

  进行查看

  如果发现返回的peer数很少,如果对等点数值是(1-5),可以尝试用./build/bootstrap/bootstrappers.pi这个文件里所列出的某个bootstrap peer,并使用命令:

  lotus net connect

  去手动将其他矿工加入DHT(分布式哈希表)

  端口转发

  为了确保Filecoin数据包能够自由通过且不受本地防火墙的过滤,强烈建议为矿工的libp2p地址设置端口转发。默认情况下,此端口是随机的。为了获得最佳连接,请确保将其设置为静态IP。

  (一)标准端口转发

  要在本地路由器上启用端口转发:

  1. 浏览本地路由器管理网站(通常地址是http://192.168.1.1 )

  2. 以管理员/root的身份进入登陆

  3. 找到设置端口转发的section

  4. 选择端口,并在端口转发规则中设置如下数值:

  External port: [CHOSEN PORT]

  Internal port: [CHOSEN PORT]

  Protocol: TCP

  IP Address: Private IP address of the host system running the miner

  (二)UPnP设置

  如果路由器支持UPnP的话,可以设置客户的后台驻留程序去使用0.0.0.0这个地址注意:如果设置UPnP,请不要设置标准端口转发!同时使用可能会出现问题。

  (三)设置公共IP地址

  为了帮助存储和检索交易顺利进行,强烈建议添加主机的公共IP地址以及上面配置的端口添加到矿工配置文件的AnnounceAddresses地址列表中。DNS4多地址或IPV6格式也是可以接受的。

  下面是一个示例配置文件,其中公共IP地址为1.2.3.4:

  [Libp2p]

  ListenAddresses = [“/ip4/0.0.0.0/tcp/5472”]

  AnnounceAddresses = [“/ip4/1.2.3.4/tcp/10240”]

  这样,端口号10240监听的数据将会被转发到:5472。

  可以使用telnet去验证端口是否在监听

  (例如:telnet 1.2.3.4 10240. nc is also sfficient.)

  如果成功的话,返回信息中应该会出现“/multistream/1.0.0”。

相关推荐