节点类型分为观察、游离、共识节点,三种节点可以相互转换
组员:共识节点,参与共识的节点,拥有群组所有数据,搭建链的时候默认生成共识节点
观察者节点;不参与共识,但能实时同步链上数据节点
非组员:游离节点,启动,暂时节点状态,不能获取链上数据
操作命令
控制台提供了 addSealer 、addObserver 和 removeNode 三类命令将指定节点转换为共识节点、观察者节点和游离节点,并可使用 getSealerList、getObserverList 和 getNodeIDList 查看当前组的共识节点列表、观察者节点列表和组内所有节点列表。
- addSealer:根据节点NodeID设置对应节点为共识节点;
- addObserver:根据节点NodeID设置对应节点为观察节点;
- removeNode:根据节点NodeID设置对应节点为游离节点;
- getSealerList:查看群组中共识节点列表;
- getObserverList:查看群组中观察节点列表;
- getNodeIDList:查看节点已连接的所有其他节点的NodeID。
节点加入网路
拉取脚本curl -#LO https://gitee.com/FISCO-BCOS/FISCO-BCOS/raw/master-2.0/tools/gen_node_cert.sh
指定机构名和生成节点目录名
./gen_node_cert.sh -c nodes/cert/agency -o node2
拷贝node0配置文件config.ini,start.sh,stop.sh到新的节点下面
在拷贝目标节点修改config.ini文件,增加自己节点信息
vim config.ini
拷贝群组信息:
node0/conf/group.1.genesis node2/conf/
node0/conf/group.1.group.1.ini node2/conf/
执行start.sh脚本,
tail -f node2/log/log* |grep P2P查看节点与其他节点连接情况
退出网络
- 节点3需先退出群组再退出网络,退出顺序由用户保证,系统不再作校验;
- 网络连接由节点主动发起,如缺少第2步,节点3仍可感知节点1和节点2发起的P2P连接请求,并建立连接,可使用CA黑名单避免这种情况。
- 若启用了白名单,需将退出节点的从所有节点的config.ini的白名单配置中删除,并正确的将新的白名单配置刷入节点中。参考《CA黑白名单》。
加入群组:
使用控制台addSealer 节点id 设置节点为共识节点,getSealerList查看,列表包含即加入成功
退出去群组:
使用控制台removeNnode根据节点Id设置节点为游离节点,查看getSealerList查询是否包含,消失说明退出成功