Ethereum 连接不同计算机上的以太坊节点

Ethereum 连接不同计算机上的以太坊节点,ethereum,Ethereum,我正在用以太坊做实验。我已经通过网站上的说明成功地建立了一个私有测试网。但是,我在添加来自不同机器的对等点时遇到问题。在我创建的任何节点上,admin.nodeInfo.NodeUrl参数都未定义。我已经通过调用admin.nodeInfo获得了enode地址,当我尝试使用admin.addPeer(“enode://address)命令(使用公共IP),它返回true,但在调用admin.peers时未列出对等方 我在另一个线程()上读到私有testnet只是本地的,但是我看到了大量的文档,这

我正在用以太坊做实验。我已经通过网站上的说明成功地建立了一个私有测试网。但是,我在添加来自不同机器的对等点时遇到问题。在我创建的任何节点上,admin.nodeInfo.NodeUrl参数都未定义。我已经通过调用admin.nodeInfo获得了enode地址,当我尝试使用admin.addPeer(“enode://address)命令(使用公共IP),它返回true,但在调用admin.peers时未列出对等方

我在另一个线程()上读到私有testnet只是本地的,但是我看到了大量的文档,这些文档提出了不同的建议(和)。我尝试了第二个教程,为自定义networkid和genesis块添加命令行标志


任何建议都将不胜感激。请告诉我是否可以提供更多详细信息。

在可用文档中很难找到,但关键函数是admin.addPeer()

我想有几种方法可以做到这一点,但我有一个节点在本地PC上运行,一个节点在远程服务器上运行。这在测试合同时节省了我的以太空间,并防止我用垃圾污染以太坊区块链。运行
admin.addPeer()
的关键是找到每个注释的“enode”,这样您就可以在其中一个节点上运行类似于以下内容的函数:admin.addPeer(enode@ipaddress:端口)。如果您运行
admin.peers
并看到除空列表以外的其他内容,您可能成功了。要检查的主要内容是
admin.peers
中的enode ID和ip地址是否与您期望的匹配

geth配置设置也有点棘手。您必须将其用于特定用途,但以下是我使用的一些参数:

geth --port XYZ --networkid XYZ --maxpeers X
将XYZ和X替换为要使用的数字,并确保在启动两个notes时运行相同的参数。可能会涉及更多的参数,但这会让你走得更远

免责声明:我不太熟悉自己,也不太会使用电脑来做facebook以外的事情,所以对我的回答持保留态度。另外,我还没有给出启动Geth的完整命令行,因为我不能100%确定某些参数是否与私有testnet相关,哪些与私有testnet无关。我只给了你一些我确信与运行私有测试网有关的东西

此外,您可能会发现它无法执行任何运行私有测试网的事务。那是因为你需要他们中的一个来开始采矿。所以,当您准备好开始部署契约时,请运行:
miner.start(X)

很抱歉,我没有完全做到这一点,但我只是在花了1-2周的时间试图弄清楚自己的想法后,将我的经验传递给大家,因为文档中没有完全清楚如何做到这一点。我认为以太坊的精神应该积极阻止这种行为,但就我而言,我主要是为了不污染区块链

另外,当我准备点击submit时,我发现这也能让我看到更多的光


谢谢你的回答。我已经尝试了所有这些,但结果证明我只是AWS的一个noob,我没有正确设置安全。感谢您确认私有测试网不仅仅是本地的。那有帮助!