在可用的文档中很难找到,但一个关键函数是 admin.addPeer()。
https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console
我想有几种方法可以做到这一点,但我有 1 个节点在我的本地 PC 上运行,一个节点在远程服务器上运行。这在测试合约时为我节省了以太币,并防止我用垃圾污染以太坊区块链。运行时的关键admin.addPeer()
是为每个注释找到“enode”,这样您就可以在其中一个节点上运行该函数,使其看起来像这样:admin.addPeer(enode@ipaddress:port)。如果您运行admin.peers
并看到除空列表之外的其他内容,那么您可能成功了。要检查的主要内容是 enode ID 和 ip 地址admin.peers
与您期望的匹配。
geth 配置设置也有点棘手。您将不得不为您的特定用途采用它,但这里有一些我使用的参数:
geth --port XYZ --networkid XYZ --maxpeers X
将 XYZ 和 X 替换为您要使用的数字,并确保在启动两个音符时运行相同的参数。可能涉及更多参数,但这应该会让你走得很远。
免责声明:我自己是 Geth 的新手,并且除了 facebook 之外,我还使用计算机做任何事情,所以我的回答持保留态度。另外,我还没有给你完整的启动 Geth 的命令行,因为我不能 100% 确定某些参数是否与私有测试网相关,哪些不是。我只给了你我确定与运行私有测试网有关的那些。
此外,您可能会发现无法执行任何运行私人测试网的事务。那是因为你需要其中一个来开始挖矿。所以运行:miner.start(X)
当你准备好开始部署合约时。
我很抱歉这还没有完全完成,只是在花了 1-2 周试图弄清楚自己之后传递了我的经验,因为文档没有完全清楚地说明如何做到这一点。我认为应该本着 Ethereuem 的精神积极劝阻它,但就我而言,我运行主要不是为了污染区块链。
PS。当我正准备点击提交时,我发现这也提供了更多信息。
连接到网络