通过查看java的源代码,我发现UDPListener是org.ethereum.net.rlpx.discover包的一部分,它似乎使用NioDatagramChannel (Netty的处理UDP数据报的方式)来处理Ping、Pong、FindNode和Neighbours消息,并处理kademia内容。然而,Devp2p规范说它只是TCP,而且一旦发现节点,TCP确实被用于通信。
因此,我有点困惑;UDP是否正式用于节点发现,然后TCP用于通信,如果是,该节点发现协议在哪里记录?
发布于 2016-05-15 12:23:56
问: UDP是否正式用于节点发现,然后TCP用于通信?
是。
您可以看到以enode URL格式(来自enode url格式)的30301 UDP发现端口:
enode://6f8a...d92a0@10.3.58.6:30303?discport=30301问:如果是的话,这个节点发现协议在哪里被记录下来?
https://ethereum.stackexchange.com/questions/3945
复制相似问题