我试图理解each覆盖网络背后的算法,以及对等点如何在彼此之间进行通信。环顾四周,我终于看到了RLPx和devp2p协议的规范。前者解释“加密握手”,而后者解释Hello消息。我不明白他们是同一件事,有不同的名字,或他们是否是不同的东西。
根据围棋(geth)源代码(子目录p2p),devp2p Hello,被命名为handshakeMsg ( devp2p数据包代码在文件p2p/peer.go中定义)。在文件p2p/rlpx.go中,定义了函数doProtoHandshake,它与devp2p协议规范中描述的Hello完全对应。因此,我可以得出结论,整个RLPx握手分为两个阶段:第一阶段是编码握手,第二阶段是包含功能交换的、已经成为devp2p协议“一部分”的原始握手。我错了?
发布于 2018-07-27 07:58:19
如果您不知道DEVp2p和RLPx的角色:
Though TCP provides a connection-oriented medium, ÐΞVp2p nodes communicate in terms of packets. RLPx provides facilities to send and receive packets
我试图捕捉文章,创建自己的基于PoA的专用网络。创建节点后的流是:
hey, make friend。就这样。这个节点今晚有一个同伴(朋友)的名单。
节点将与表中的对等节点创建UPD连接。
握手。
流数据
https://ethereum.stackexchange.com/questions/45258
复制相似问题