目录
一、区块链种类的变化
二、搭链演示
1.单群组区块链(Air版本)
2.多群组区块链(Pro版本)
3.可扩展区块链(Max版本)
FISCO BCOS的发展速度如日中天,对于稳定的2.0版本而言,偶尔尝试一下3.0的搭链也是一件很有乐趣的事,本期就讲解一下关于FISCO BCOS 3.0版本搭链的那些事。
更多详情可见官方文档:1. FISCO BCOS 区块链 — FISCO BCOS 3.0 v3.6.0 文档 (fisco-bcos-doc.readthedocs.io)
一、区块链种类的变化
新版本的FISCO BCOS将区块链种类分为了以下三种,也被称为3个版本
1. 单群组区块链(Air版本)
2. 多群组区块链(Pro版本)
3. 可扩展区块链(Max版本)
整体搭链方式仍然围绕 build_chain.sh 脚本进行展开,保持了与2.0版本的过渡性。
二、搭链演示
环境:Ubuntu 22.04.1
1.单群组区块链(Air版本)
首先第一步,仍是拉取建链脚本
curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v3.6.0/build_chain.sh && chmod u+x build_chain.sh
可以先使用bash build_chain -h查看脚本用法和参数,新版的区块链节点多了很多新特性如:节点监控、存储控制、权限控制等,我们下次可以单开一篇进行介绍,本次就采用单机四节点+节点监控做示例。
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200 -m
从命令角度看,指定的端口从3个减少为了2个,即P2P和RPC服务的监听的起始端口。
从文件目录来看,新版的fisco增加了ca证书的文件目录,其他方面变化并不大(由于我没有添加更多建链选项)。
因此,按照以往的经验,直接启动也是没问题的。
bash nodes/127.0.0.1/start_all.sh
与节点一同部署的节点监控也启动成功了,此时我们检查进程和节点连接数
ps -ef | grep -v grep | grep fisco
tail -f nodes/127.0.0.1/node0/log/* | grep connected
可以发现节点运行正常 ,至此,我们完成了单群组区块链节点的搭建。
2.多群组区块链(Pro版本)
不同与2.0的多群组部署,3.0在多群组部署的基础上使用BcosBuilder/pro工具进行建链,并使用tars进行微服务构建和管理,由于内容过多,本期只介绍一键搭建无tars Pro版区块链网络。
首先安装依赖,这里注意,如果是ubuntu系统,则版本不能小于Ubuntu18.04。
sudo apt-get update
sudo apt-get install -y curl docker.io docker-compose python3 wget
我们接下来部署无tars Pro版区块链网络,通过指定服务的ip和端口,自动生成配置文件,执行以下命令,搭建双机双机构四节点。
在执行命令前,经测试,需要提前安装以下3个python库。
pip3 install requests_toolbelt toml
bash build_chain.sh -p 30300,20200,40400 -l 192.168.200.134:2,192.168.200.135:2 -C deploy -V pro -o generate -t all
输出了很多命令提示, 目录结构如下
我们进入相匹配的文件夹启动节点,这里涉及到多机部署区块链,故我们只启动本机ip符合的区块链节点。
如图,启动成功,如果需要,接下来要将另外一个ip地址的文件传输到对应主机进行启动,这里便不多赘述。
3.可扩展区块链(Max版本)
官方对于Max版本的定义为:提供海量存储服务、高性能可扩展的执行模块、高可用的故障恢复机制。与Pro版相同,同样提供一键搭建和BcosBuilder进行搭建。这里先采用一键搭建作为示例。
首先仍是安装依赖,仍然要求ubuntu版本不小于Ubuntu18.04。
sudo apt-get update
sudo apt-get install -y curl docker.io docker-compose python3 wget
接下来要部署TiKV,关于TiKV的介绍:Max版FISCO BCOS节点采用分布式存储TiKV,执行模块独立成服务,存储和执行均可横向扩展,且支持自动化主备恢复。
执行此命令下载和安装tiup
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
接着部署并启动TiKV,这里ip为192.168.200.134
nohup tiup playground v6.5.0 --mode tikv-slim --host=192.168.200.134 -T tikv_demo --without-monitor > ~/tikv.log 2>&1 &
最后执行以下命令搭建双机双机构四节点,其中TiKV的默认端口是2379
bash build_chain.sh -p 30300,20200,40400,2379 -l 19.168.200.134:2,192.168.200.135:2 -C deploy -V max -o generate -t all
剩余的启动步骤与多群组区块链一致,如图,启动成功。