节点类型分为观察、游离、共识节点,三种节点可以相互转换

组员:共识节点,参与共识的节点,拥有群组所有数据,搭建链的时候默认生成共识节点

观察者节点;不参与共识,但能实时同步链上数据节点

非组员:游离节点,启动,暂时节点状态,不能获取链上数据

操作命令

控制台提供了 addSealer 、addObserver 和 removeNode 三类命令将指定节点转换为共识节点、观察者节点和游离节点,并可使用 getSealerListgetObserverList 和 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查询是否包含,消失说明退出成功