Substrate多节点仅能连接引导节点 无法发现其他对等节点如何解决
Substrate 私有网络节点全量发现配置方案
你当前的配置主要存在端口冲突、节点发现规则缺失两类问题,按以下步骤修改启动参数即可实现所有节点互相发现:
- 修改各节点唯一端口:同一设备上运行的每个节点必须配置独立的P2P端口、WS端口、RPC端口,你当前所有节点共用30333/9945/9933三个端口,端口占用会导致跨节点连接失败。可按节点序号依次修改为30334/9946/9934、30335/9947/9935等唯一值。
- 调整最大对等连接数限制:添加
--max-peers 10启动参数(数值大于你的节点总数量即可),默认的最大对等连接数阈值较低,会导致节点连接到引导节点后不再主动发现其他节点。 - 开启局域网自动发现:如果所有节点都部署在同一局域网内,添加
--mdns启动参数,节点会通过MDNS协议自动扫描发现同网络内的其他同链节点。 - (可选)手动指定多引导节点:如果节点跨网段部署无法使用MDNS,可在每个节点的
--bootnodes参数后追加所有其他节点的P2P地址,多个地址用空格分隔即可。
修改后的节点启动参考配置如下:
./target/release/node-template \ --base-path /tmp/<node_name> \ --chain ./customSpecRaw.json \ --port 30334 \ --ws-port 9946 \ --rpc-port 9934 \ --validator \ --rpc-methods Unsafe \ --name <other_node_name> \ --bootnodes /ip4/<ip_addr>/tcp/30333/p2p/xxxyyyzzz \ --max-peers 10 \ --mdns
内容的提问来源于stack exchange,提问作者v-man
相关产品推荐
相关产品推荐

