首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >所有geth节点都具有相同的enode id。

所有geth节点都具有相同的enode id。
EN

Ethereum用户
提问于 2018-10-11 09:35:03
回答 1查看 988关注 0票数 2

我有一个脚本来设置一个geth节点,这个节点在大多数时候对我都很好。(过去2-3周一直在使用)。我经常使用它在不同的坞实例上设置多个geth实例。

然而,今天,当我在不同的docker实例上创建一些节点(所有节点都运行在同一个框上)时,我看到了一些问题。首先,当我使用admin.addPeer()时,两个节点无法相互交谈。采矿也不起作用。在调查中,我发现创建的所有节点都具有相同的enode id。

这是一个双关问题--第一次看到它。我没有改变我的脚本或如何启动多个geth实例。我能做些什么来阻止这一切吗?我尝试过使用引导节点,如下所示-

代码语言:javascript
复制
bootnode -genkey boot.key
bootnode -nodekey boot.key

INFO [10-11|08:51:32.325] UDP listener up                          self=enode://e3e9eec5fad93a169f7667905733d831f9e6c9ad233fcf2430dd65d8822c688310784f1b3c8bba38e1037bab1916b1e755124ff6973d752fed8912c6e2ba2569@[::]:30301

我希望在做geth引导节点时会看到上面的id。

然而,我看到了完全不同的东西。

任何建议。

谢谢!

EN

回答 1

Ethereum用户

发布于 2018-10-11 13:22:49

enode是根据nodekey值计算的。如果您的所有节点都引用相同的datadir,或者通过复制数据dir引导多个实例,那么它们将具有相同的enode ID。

删除默认位于datadir/geth/nodekey~/.ethereum/geth/nodekey文件,然后重新启动节点。它们将生成新的随机密钥,并获得不同的enode ID。

票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/60394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档