tendermint-peers讲解

时间:2022-06-16
本文章向大家介绍tendermint-peers讲解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Peer Exchange

Peer Exchange Reactor (PEX)确保与好的peers进行连接和通信

Peer类型

  • persistent peer

长期保持通信的peer,连接失败可自动重拨

  • private peer

私有peer,无需添加到address book,并且不能传播给其它peer

发现(Discovery)

启动时,先连接persistent_peers,如果连接失败,会每隔5s进行重拨几分钟。

如果peer数量小于MaxNumOutboundPeers,将会定期请求自己拥有的peer,如果还是不能有足够的数量,则再次尝试seeds(seeds是固定peers信息,用于开始启动连接)。

监听(Listening)

peers在可配置的ListenAddr地址监听,并在与其它节点握手时,将监听地址、端口信息保存在NodeInfo信息内。

接受的MaxNumInboundPeers数量的peers

地址簿(Address Book)

  • peers通过NodeID(公钥地址)进行追踪
  • 其它peers连接我们或我们连接其它peers都将记录在address book中
  • address book 将被分配在一系列桶(buckets)中,并且区分新旧peers,通过IP组来归类
  • 添加一个新的peer,如果没有空间,会从桶中移除有问题的peer,来生成一个新空间