扩展教程–机构C节点加入群组1
将节点加入已有群组需要用户使用控制台发送指令,将节点加入群组,示例如下:
此时群组1内有机构A、B的节点,机构C节点加入群组1需要经过群组内节点的准入,示例以机构A节点为例:
在~/generator-A目录下执行下述命令
- cd ~/generator-A
发送群组1创世区块至机构C
发送群组1配置文件至机构C节点:
- ./generator --add_group ./group/group.1.genesis ~/generator-C/nodeC
当前FISCO BCOS
暂不支持文件热更新,为机构C节点添加群组1创世区块后需从启节点。
重启机构C节点:
- bash ~/generator-C/nodeC/stop_all.sh
- bash ~/generator-C/nodeC/start_all.sh
配置控制台
机构A配置控制台或sdk,教程中以控制台为例:
注意:此命令会根据用户配置的node_deployment.ini
中节点及群组完成了控制台的配置,用户可以直接启动控制台,启动前请确保已经安装java
- ./generator --download_console ./
查看机构C节点4信息
机构A使用控制台加入机构C节点4为观察节点,其中参数第二项需要替换为加入节点的nodeid,nodeid在节点文件夹的conf的node.nodeid
文件
查看机构C节点nodeid:
- cat ~/generator-C/nodeC/node_127.0.0.1_30304/conf/node.nodeid
- # 命令解释
- # 可以看到类似于如下nodeid,控制台使用时需要传入该参数
- ea2ca519148cafc3e92c8d9a8572b41ea2f62d0d19e99273ee18cccd34ab50079b4ec82fe5f4ae51bd95dd788811c97153ece8c05eac7a5ae34c96454c4d3123
使用控制台注册观察节点
启动控制台:
- cd ~/generator-A/console && bash ./start.sh 1
使用控制台addObserver
命令将节点注册为观察节点,此步需要用到cat
命令查看得到机构C节点的node.nodeid
:
- addObserver ea2ca519148cafc3e92c8d9a8572b41ea2f62d0d19e99273ee18cccd34ab50079b4ec82fe5f4ae51bd95dd788811c97153ece8c05eac7a5ae34c96454c4d3123
- # 命令解释
- # 执行成功会提示success
- $ [group:1]> addObserver ea2ca519148cafc3e92c8d9a8572b41ea2f62d0d19e99273ee18cccd34ab50079b4ec82fe5f4ae51bd95dd788811c97153ece8c05eac7a5ae34c96454c4d3123
- {
- "code":0,
- "msg":"success"
- }
退出控制台:
- exit
查看机构C节点5信息
机构A使用控制台加入机构C的节点5为共识节点,其中参数第二项需要替换为加入节点的nodeid,nodeid在节点文件夹的conf的node.nodeid
文件
查看机构C节点nodeid:
- cat ~/generator-C/nodeC/node_127.0.0.1_30305/conf/node.nodeid
- # 命令解释
- # 可以看到类似于如下nodeid,控制台使用时需要传入该参数
- 5d70e046047e15a68aff8e32f2d68d1f8d4471953496fd97b26f1fbdc18a76720613a34e3743194bd78aa7acb59b9fa9aec9ec668fa78c54c15031c9e16c9e8d
使用控制台注册共识节点
启动控制台:
- cd ~/generator-A/console && bash ./start.sh 1
使用控制台addSealer
命令将节点注册为共识节点,此步需要用到cat
命令查看得到机构C节点的node.nodeid
:
- addSealer 5d70e046047e15a68aff8e32f2d68d1f8d4471953496fd97b26f1fbdc18a76720613a34e3743194bd78aa7acb59b9fa9aec9ec668fa78c54c15031c9e16c9e8d
- # 命令解释
- # 执行成功会提示success
- $ [group:1]> addSealer 5d70e046047e15a68aff8e32f2d68d1f8d4471953496fd97b26f1fbdc18a76720613a34e3743194bd78aa7acb59b9fa9aec9ec668fa78c54c15031c9e16c9e8d
- {
- "code":0,
- "msg":"success"
- }
退出控制台:
- exit
查看节点
在~/generator-C目录下执行下述命令
- cd ~/generator-C
查看节点log内group1信息:
- cat node*/node_127.0.0.1_3030*/log/log* | grep g:1 | grep Report
- # 命令解释
- # 观察节点只会同步交易数据,不会同步非交易状态的共识信息
- # log中的^^^即为节点的交易信息,g:1为群组1打印的信息
- info|2019-02-26 16:01:39.914367| [g:1][p:65544][CONSENSUS][PBFT]^^^^^^^^Report,num=0,sealerIdx=0,hash=9b76de5d...,next=1,tx=0,nodeIdx=65535
- info|2019-02-26 16:01:40.121075| [g:1][p:65544][CONSENSUS][PBFT]^^^^^^^^Report,num=1,sealerIdx=3,hash=46b7f17c...,next=2,tx=1,nodeIdx=65535
- info|2019-02-26 16:03:44.282927| [g:1][p:65544][CONSENSUS][PBFT]^^^^^^^^Report,num=2,sealerIdx=2,hash=fb982013...,next=3,tx=1,nodeIdx=65535
- info|2019-02-26 16:01:39.914367| [g:1][p:65544][CONSENSUS][PBFT]^^^^^^^^Report,num=0,sealerIdx=0,hash=9b76de5d...,next=1,tx=0,nodeIdx=4
- info|2019-02-26 16:01:40.121075| [g:1][p:65544][CONSENSUS][PBFT]^^^^^^^^Report,num=1,sealerIdx=3,hash=46b7f17c...,next=2,tx=1,nodeIdx=4
- info|2019-02-26 16:03:44.282927| [g:1][p:65544][CONSENSUS][PBFT]^^^^^^^^Report,num=2,sealerIdx=2,hash=fb982013...,next=3,tx=1,nodeIdx=4
至此 我们完成了所示构建教程中的所有操作。
通过本节教程,我们在本机生成一个网络拓扑结构为3机构2群组6节点的多群组架构联盟链。
如果使用该教程遇到问题,请查看FAQ