Geth执行--mine命令持续打印"Looking for peers"问题求助
Geth双节点组网持续打印"Looking for Peers"问题修复方案
核心根因
你填写的bootnodes参数缺少node1的完整enode标识,两个节点无法完成对等节点发现,所以无法组网。
分步修复操作
- 第一步:获取node1的完整enode地址
保持node1处于运行状态,新开终端执行命令进入node1的交互控制台:geth attach ipc:node1/geth.ipc
在控制台内执行:admin.nodeInfo.enode
复制返回的完整enode串,格式为enode://<64位公钥>@127.0.0.1:30303?discport=<端口号> - 第二步:重新启动node2
先终止当前运行的node2进程,替换启动命令中bootnodes的空enode为上一步复制的完整串,修改后的启动命令参考:geth --datadir node2 --port 30304 --http --bootnodes "你复制的完整enode串"
注意:Geth v1.10.0及以上版本已废弃--rpc参数,建议替换为--http启用HTTP API服务 - 第三步:验证组网结果
进入任意节点的geth控制台,执行:net.peerCount
若返回值为1,说明两个节点已成功连接,不会再持续打印"Looking for Peers"提示。
其他常见排查点
- 两个节点初始化时使用的
mynetwork.json创世配置必须完全一致,若创世块哈希、链ID不匹配,节点会自动拒绝对方连接 - 确认本地30303、30304端口未被其他进程占用,且本地防火墙未拦截Geth的端口通信
- 若你不需要节点必须组网才能挖矿,可以在启动node1时添加
--nodiscover参数关闭节点发现,即可直接启动挖矿,适合单节点测试场景
内容的提问来源于stack exchange,提问作者Anurag Sharma
相关产品推荐
相关产品推荐

