FISCO BCOS引入了游离节点、观察者节点和共识节点,这三种节点类型可通过控制台相互转换。
-
共识节点:参与共识的节点,拥有群组的所有数据(搭链时默认都生成共识节点)。
-
观察者节点:不参与共识,但能实时同步链上数据的节点。
-
游离节点:已启动,待等待加入群组的节点。处在一种暂时的节点状态,不能获取链上的数据。
1.为节点生成证书并且启动
每个节点都需要有一套证书来与链上的其他节点建立连接,扩容一个新节点,首先需要为其签发证书。
(1)为新节点生成私钥证书
接下来的操作都在nodes/127.0.0.1
目录下进行
获取证书生成脚本
curl -#LO https://gitee.com/FISCO-BCOS/FISCO-BCOS/raw/master-2.0/tools/gen_node_cert.sh
生成新节点私钥证书
# -c指定机构证书及私钥所在路径
# -o输出到指定文件夹,其中node4/conf中会存在机构agency新签发的证书和私钥
# 成功会输出 All completed 提示
bash gen_node_cert.sh -c ../cert/agency -o node4
(2)准备节点配置文件
拷贝node0/config.ini
、node0/start.sh
和node0/stop.sh
到node4目录;
cp node0/config.ini node0/start.sh node0/stop.sh node4/
修改node4/config.ini
。对于[rpc]
模块,修改channel_listen_port=20204
和jsonrpc_listen_port=8549
;对于[p2p]
模块,修改listen_port=30304
并在node.
中增加自身节点信息;
节点4拷贝节点1的node0/conf/group.1.genesis
(内含群组节点初始列表)和node0/conf/group.1.ini
到node4/conf
目录下,不需改动;
cp node0/conf/group.1.genesis node0/conf/group.1.ini node4/conf/
执行node4/start.sh
启动节点;
bash node4/start.sh
启动成功会提示
node4 start successfully
确认node4与其他节点连接已经建立,加入网络操作完成。
tail -f node4/log/log* | grep "connected count"
2.节点加入群组
先启动console/目录下的start.sh脚本进入控制台,有不会控制台操作的可以观看我的上一篇博客
(1)获取node4的nodeid
cat node4/conf/node.nodeid
输出的结果如下
(2)用控制台将node4加入群组1
使用addObserver将node4作为观察节点加入群组1
使用addSealer将node4作为共识节点加入群组1