续前文,近期 FISCO BCOS 2.4
版本发布了,最核心的特性是动态群组管理,这个功能免去了手动部署新群组的过程,极大的方便了群组管理。
新版本部署
FISCO BCOS 2.4
版本部署前一版本基本没有区别,注意 2.3
版本部署的时候配置文件稍有变化(依然兼容以前配置)。按照以前的部署方法部署即可,新配置参考 2.3
的配置即可。
动态创建群组
这个版本虽然增加了动态创建群组的功能,但是 console
却没有增加这个命令,不知道以后会不会加,因此只能通过 JSONRPC
进行操作了。
此处动态创建群组要求节点已经存在
首先需要收集参与新群组的节点,也就是各个节点的 nodeid
,然后手动通过命令行接口调用 JSONRPC
接口。然后确定一个群组初始时间戳,至此可通过下面的命令行创建(节点ID为本地测试ID,群组ID为2,请自行根据实际情况修改)
创建群组接口定义参数如下
groupID
: 群组IDparams
: 创世块参数,其字段如下:timestamp
: 创世块时间戳sealers
: 共识节点列表,要求所有所列共识节点间存在有效的P2P连接enable_free_storage
: 可选,是否启用free storage
模式
curl -X POST --data '{"jsonrpc":"2.0","method":"generateGroup","params":[2, \ |
请注意时间戳格式,执行完成之后只是创建了而已,还未启用该群组,启用命令如下
curl -X POST --data '{"jsonrpc":"2.0","method":"startGroup","params":[2],"id":1}' http://127.0.0.1:8545 |
至此该群组已经启动。通过下面的接口可以查询当前的状态,同样要针对每个节点去查
curl -X POST --data '{"jsonrpc":"2.0","method":"queryGroupStatus","params":[2],"id":1}' http://127.0.0.1:8545 |
操作注意
这里需要特别说明的是,官方文档上对此没有特别的描述,但事实上这些命令需要在每个节点上都执行,可以通过上面的状态查询接口去各个节点查询,会发现只有执行了命令的节点是正常的,其他节点均是类似 INEXISTENT
群组不存在的返回。
群组其他操作
动态群组操作,不仅包含创建相关,也包含了删除停住等操作,具体见
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/api.html