Enode或Enode的定义是什么?它是用来做什么的,它是怎么做的?
发布于 2016-02-09 10:16:22
扩展Hudson的回答:“十六进制节点ID是在URL的用户名部分编码的”
用户名部分是用于验证通信来自网络上特定节点的512位公钥。
更多关于使用RLPx协议的can 在这里找到。
其中的主要部分:
节点发现和网络形成是通过类似kademlia的UDP实现的。与Kademlia的主要区别:
发布于 2016-02-09 03:41:28
enode是一种以URI的形式描述虚设节点的方法。
十六进制节点ID是在URL的用户名部分中编码的,与主机之间用@符号分隔。主机名只能作为IP地址提供,不允许使用DNS域名。主机名部分中的端口是TCP侦听端口。如果TCP和UDP (发现)端口不同,则将UDP端口指定为查询参数"discport“。
在下面的示例中,节点URL描述具有IP地址10.3.58.6、TCP侦听端口30303和UDP发现端口30301的节点。
enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@10.3.58.6:30303?discport=30301
节点发现协议使用enode uri方案,可以在客户机的bootnodes命令行选项中使用,也可以作为JSRE中suggestPeer(nodeURL)函数的参数使用。
关于enode URI的更多信息可以是在这里发现的,并在这个“连接到虚空”的Wiki条目中提到。
https://ethereum.stackexchange.com/questions/1177
复制相似问题