FISCOBCOS~2.4动态群组试用

续前文,近期 FISCO BCOS 2.4 版本发布了,最核心的特性是动态群组管理,这个功能免去了手动部署新群组的过程,极大的方便了群组管理。

新版本部署

FISCO BCOS 2.4 版本部署前一版本基本没有区别,注意 2.3 版本部署的时候配置文件稍有变化(依然兼容以前配置)。按照以前的部署方法部署即可,新配置参考 2.3 的配置即可。

动态创建群组

这个版本虽然增加了动态创建群组的功能,但是 console 却没有增加这个命令,不知道以后会不会加,因此只能通过 JSONRPC 进行操作了。

此处动态创建群组要求节点已经存在

首先需要收集参与新群组的节点,也就是各个节点的 nodeid ,然后手动通过命令行接口调用 JSONRPC 接口。然后确定一个群组初始时间戳,至此可通过下面的命令行创建(节点ID为本地测试ID,群组ID为2,请自行根据实际情况修改)

创建群组接口定义参数如下

  • groupID : 群组ID
  • params : 创世块参数,其字段如下:
    • timestamp : 创世块时间戳
    • sealers : 共识节点列表,要求所有所列共识节点间存在有效的P2P连接
    • enable_free_storage : 可选,是否启用 free storage 模式
curl -X POST --data '{"jsonrpc":"2.0","method":"generateGroup","params":[2, \
{"timestamp":"1585214879000","sealers":[\
"e10463554264447728df03384c9e145de0ae0dd760b4d45129180a6647c8d2ed647fb28ab8fece8257cf90c5a677d16042a1563f9e2e882c6aaf4fb62b55be77",\
"c6ee55bee5e22248332a5858bae8d54563eb4f61252f8652ff200d088e291563f216238152c93e2f9424c54c0cf22bd1f75ba6a5bb711a725ce2168a9114439a",\
"ed1f5c0f7d85bf82fbdc9e17a070a073ad7cb6ac5a1c947c487f18e34bfd873f56ba13b884cd681deaba08dff4e84a4134c2defc1390dbe4bb5a52feac12f900",\
"6a4ac90e67724158007f66fa77d4d96180e64ad53f7085e0f67adaa9114a6dbd027fc2deb9a7c85660f7d64eb99ba7f9230cfadf69442c0011cfdd5b9702923e"\
]}],"id":1}' http://127.0.0.1:8545

请注意时间戳格式,执行完成之后只是创建了而已,还未启用该群组,启用命令如下

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

最近的文章

拼接YUV420P图像

最近需要实现视频的左右拼接,从而可以实现2路摄像头的同时显示,调研使用了几种实现方式进行了对比。 ffmpeg方式谈到视频方面的处理,肯定首选 ffmpeg,想要实现上面的功能,其实 ffmpeg 就能实现,使用其 filter 就可以,大概思路是: 使用 pad 扩展出另外一个图像的空间 使用 …

技术 继续阅读
更早的文章

精确控制海康摄像头PTZ

项目中需要定时抓取摄像头不同角度的视频图像,也就是要精确控制海康摄像头PTZ旋转指定的角度,比如像我们的需求应该是90°,旋转完成之后刷屏,然后继续旋转。这种需求第一个想到的就是控制预置点,这个也是一个非常不错的方法,因为可以对真实情况进行调整,但是由于摄像头数据太大,一个个调整不太现实。 PTZ旋 …

技术 继续阅读