搭建多节点网络¶
在阅读本节前,请先阅读“快速入门”,当中介绍了创建单节点网络的创建,在该基础上,搭建一个SINGLE共识的多节点网络,其他节点只要新增p2p网络bootNodes配置即可。如果你想搭建一个TDPoS共识的链,仅需要修改创世块参数中“genesis_consensus”配置参数即可。下面将详细介绍相关操作步骤。
我们以搭建3个节点的网络为例来说明(其实搭建更多节点的原理是一致的),首先需要有一个节点作为“bootNode”,其他节点启动前都配置这个“bootNode”的地址即可实现
对于bootNode节点,我们需要先获取它的netURL,具体命令如下:
1 | xchain-cli netURL get -H 127.0.0.1:37101
|
如果不是以默认配置启动的,我们需要先生成它的netURL,然后再获取
1 2 | xchain-cli netURL gen #重新生成本地节点的网络私钥
xchain-cli netURL preview #显示本地节点的p2p地址
|
如此我们会获得一个类似于
/ip4/127.0.0.1/tcp/47101/p2p/QmVxeNubpg1ZQjQT8W5yZC9fD7ZB1ViArwvyGUB53sqf8e
样式的返回
对其他的节点,我们需要修改其服务配置 conf/xchain.yaml 中p2p一节
1 2 3 4 5 6 7 8 | p2p:
module: p2pv2
// port是节点p2p网络监听的默认端口,如果在一台机器上部署注意端口配置不要冲突,
// node1配置的是47101,node2和node3可以分别设置为47102和47103
port: 47102
// 节点加入网络所连接的种子节点的链接信息,
bootNodes:
- "/ip4/127.0.0.1/tcp/47101/p2p/QmVxeNubpg1ZQjQT8W5yZC9fD7ZB1ViArwvyGUB53sqf8e"
|
注解
需要注意的是,如果节点分布在不同的机器之上,需要把netUrl中的本地ip改为机器的实际ip
修改完配置后,即可在每一个节点使用相同配置创建链,然后分别启动bootNode和其他节点,即完成了多节点环境的部署
这里可以使用系统状态的命令检查环境是否正常
1 | xchain-cli status -H 127.0.0.1:37101
|
通过变更 -H 参数,查看每个节点的状态,若所有节点高度都是一致变化的,则证明环境部署成功