You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

搭建以太坊私有链三节点遇端口绑定错误,请求技术协助

问题分析

错误提示listen tcp 127.0.0.1:8551: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted表明8551端口已被占用。Geth默认会开启authrpc服务,默认端口为8551——你的node1启动时未显式指定该端口,因此占用了8551;node2和node3启动时默认尝试绑定同一端口,导致冲突报错。

解决方案

给每个节点配置唯一的--authrpc.port,同时确保所有节点的P2P端口(--port)、HTTP端口(--http.port)互不重复。修改后的启动命令如下:

node1 修改后命令

geth --networkid 15 --http --http.addr "0.0.0.0" --http.port "8549" --authrpc.port 8551 --http.api "web3,net,eth,admin,personal" --http.corsdomain "*" --datadir nodedata0 --ipcdisable --allow-insecure-unlock --rpc.allow-unprotected-txs console

(注:显式指定默认的8551端口,避免后续配置混淆)

node2 修改后命令

geth --http --http.port 8550 --authrpc.port 8552 --nodiscover --datadir "./nodedata1" --port 30304 --http.api "web3,net,eth,admin,personal" --http.corsdomain "*" --networkid 15 --ipcdisable --allow-insecure-unlock --rpc.allow-unprotected-txs console

node3 修改后命令

geth --http --http.port 8552 --authrpc.port 8553 --nodiscover --datadir "./nodedata2" --port 30307 --http.api "web3,net,eth,admin,personal" --http.corsdomain "*" --networkid 15 --ipcdisable console
额外检查项
  • 确认每个节点的--datadir指向独立目录,避免数据文件冲突
  • 启动前可检查端口占用状态:
    • Windows:执行netstat -ano | findstr 8551
    • Linux/macOS:执行lsof -i :8551
  • 若需开启WebSocket服务,需额外给每个节点指定唯一的--ws.port,避免默认端口冲突

内容的提问来源于stack exchange,提问作者李林發

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 22:55:23