gpt4 book ai didi

ethereum - 连接不同机器上的以太坊节点

转载 作者:行者123 更新时间:2023-12-05 04:14:38 29 4
gpt4 key购买 nike

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

我在另一个线程 ( here ) 上读到私有(private)测试网只是本地的,但我看到很多文档表明不是这样 ( herehere 。) 我已经尝试了第二个教程添加命令- 自定义 networkid 和创世 block 的行标志。

如有任何建议,我们将不胜感激。如果我可以提供更多详细信息,请告诉我。

最佳答案

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

https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console

我想有几种方法可以做到这一点,但我有 1 个节点在我的本地 PC 上运行,一个节点在远程服务器上运行。这在测试合约时为我节省了以太币,并防止我用垃圾污染以太坊区 block 链。运行 admin.addPeer() 的关键是为每个笔记找到“enode”,这样您将在其中一个节点上运行看起来像这样的函数:admin.addPeer (enode@ipaddress:端口)。如果您运行 admin.peers 并看到空列表以外的内容,则您可能成功了。要检查的主要内容是 admin.peers 中的 enode ID 和 ip 地址是否与您的预期匹配。

geth 配置设置也有点棘手。您必须针对您的特定用途采用它,但这里是我使用的一些参数:

geth --port XYZ --networkid XYZ --maxpeers X

将 XYZ 和 X 替换为您要使用的数字,并确保在启动两个音符时运行相同的参数。可能涉及更多参数,但这应该会让你走得更远。

免责声明:我自己是 Geth 的新手,而且除了 facebook 之外,我还使用计算机进行任何其他操作,所以请对我的回答持保留态度。另外,我没有给你启动 Geth 的完整命令行,因为我不能 100% 确定某些参数是否与私有(private)测试网相关,哪些不是。我只给了你我确定与运行私有(private)测试网相关的那些。

此外,您可能会发现无法执行任何运行私有(private)测试网的交易。那是因为你需要其中之一才能开始挖矿。因此,当您准备好开始部署合约时,运行:miner.start(X)

我很抱歉这不是完全完整的,只是在花了 1-2 周试图弄清楚自己之后传递我的经验,因为文档并不完全清楚如何做到这一点。我认为本着以太坊的精神应该积极劝阻,但就我而言,我主要是为了不污染区 block 链。

附言。当我正准备点击提交时,我发现这也能说明更多问题。

connecting to the network

关于ethereum - 连接不同机器上的以太坊节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34799651/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com