无法添加以太坊同行.对等列表为空

我正在尝试创建一个私人以太坊网络.我在两个不同的端口中在同一台机器( Windows

7)中启动了两个节点.

我无法将一个节点添加为另一个节点的对等节点.到目前为止我所做的就是这个.

启动具有相同网络ID,不同数据目录和不同端口的两个节点.

找到一个节点的节点地址.

> admin.nodeInfo.enode
"enode://5d272e8bee6d29dfff6313999a4a2c3d8109ae6f3eb103480f4536c0542549b9fa12a8d8ae5ebee9c4db55cab553693b04eedbc9b29f35bbc0af1956231b42b4@0.0.0.0:30303"

将节点添加到另一个对等方.

> admin.addPeer("enode://5d272e8bee6d29dfff6313999a4a2c3d8109ae6f3eb103480f4536c0542549b9fa12a8d8ae5ebee9c4db55cab553693b04eedbc9b29f35bbc0af1956231b42b4@192.168.1.5:30303")

true

但是,如果我检查第二个对等体的对等体信息,则表明它没有任何对等体.

> admin.peers

[]

此外,我尝试通过向data / static-nodes.json添加节点地址,将第一个对等体添加为第二个节点的静态对等体,但仍然admin.peers返回一个空列表.

有谁知道如何解决这一问题?

有许多原因可能会阻止节点同步.

系统时钟不同步

最常见但难以找到的原因之一是设备的系统时钟不同步.即使时钟仅相差12秒,节点也不会同步.

https://github.com/ethereum/wiki/wiki/Mining 开始:

The difficulty dynamically adjusts so that on average one block is produced by the entire network every 12 seconds (ie., 12 s block time). This heartbeat basically punctuates the synchronisation of system state and guarantees that maintaining a fork (to allow double spend) or rewriting history is impossible unless the attacker possesses more than half of the network mining power (so called 51% attack).

可以通过在所有设备上使用相同的NTP服务器(最好在地理上靠近网络)来解决该问题.

网络ID未匹配

通过在命令行上使用–networkid 12345选项,网络的网络ID设置为12345.请确保所有节点之间的设置相同,并且该值是随机正无符号32位数(即1~2147483647).不要使用12345,因为可能有太多人使用它.

防火墙未正确配置

以太坊默认使用TCP和UDP端口30303进行相互通信.请确保设备上的防火墙未阻止30303 / TCP和30303 / UDP.

翻译自:https://stackoverflow.com/questions/40328983/unable-to-add-ethereum-peer-peer-list-is-empty