仲裁链组织结构
下图是一个仲裁链示例:
企业 A、企业 B 和企业 C 分别和仲裁机构合作,采用区块链搭建仲裁服务。在群组架构下,搭链方式为:仲裁机构配置两个节点,分别加入三个群组;企业 A 配置两个节点,加入群组 1;企业 B 配置两个节点,加入群组 2;企业 C 配置两个节点,加入群组 3。
仲裁链组网详情
上节介绍了仲裁链组织结构,这里在一台机器的环境下模拟仲裁链组网环境。仿真的组网环境如下:
仲裁机构:包括两个节点,节点 IP 均为 127.0.0.1,同时属于群组 1,群组 2 和群组 3
企业 A:包括两个节点,节点 IP 均为 127.0.0.1,仅属于群组 1
企业 B:包括两个节点,节点 IP 均为 127.0.0.1,仅属于群组 2
企业 C:包括两个节点,节点 IP 均为 127.0.0.1,仅属于群组 3
温馨提示:
实际应用场景中,不建议将多个节点部署在同一台机器,建议根据机器负载选择部署节点数目。本例中仲裁机构节点归属于所有群组,负载较高,建议单独部署于性能较好的机器。
仲裁链搭建关键流程
如下图所示,使用 FISCO BCOS 2.0 快速建链脚本搭建仲裁链(以及所有其他区块链系统)主要包括五个步骤:
step1:安装依赖软件,主要是 openssl 和 build_chain.sh 脚本
step2: 使用 build_chain.sh 生成区块链节点配置
step3: 启动所有机构区块链节点
step4: 启动控制台
step5: 使用控制台发送交易
下面我将就这五个步骤详细叙述构建仲裁链的关键流程。
安装依赖软件
搭建 FISCO BCOS 2.0 区块链节点需要准备如下依赖软件:
openssl:FISCO BCOS 2.0 的网络协议依赖 openssl
build_chain.sh 脚本:主要用于构建区块链节点配置,可从 https://raw.githubusercontent.com/FISCO-BCOS/FISCO-BCOS/master/tools/build_chain.sh 下载
生成区块链节点配置
FISCO BCOS 2.0 提供的 build_chain.sh 可快速生成区块链节点配置,按照【仲裁链组网详情】介绍的节点组织结构,先生成区块链配置文件 ip_list:
#ip_list 文件内容格式:[ip]:[节点数] [机构名] [所属群组列表]
调用 build_chain.sh 脚本构建仿真的本机仲裁链:
区块链节点配置成功后,会看到[INFO] All completed.的输出。
启动节点
生成区块链节点后,需要启动所有节点,节点提供 start_all.sh 和 stop_all.sh 脚本启动和停止节点。
不发交易时,共识正常的节点会输出+++日志,使用 tail -f node*/log/* | grep "++"查看各节点是否共识正常。
启动控制台
控制台是用户与 FISCO BCOS 2.0 区块链节点交互的重要工具,实现查询区块链状态、部署调用合约等功能,能够快速获取用户到所需要信息。
启动控制台前需获取并配置控制台:
获取控制台:从 https://github.com/FISCO-BCOS/console/releases/download/v1.0.0/console.tar.gz 下载控制台
配置控制台:主要拷贝证书、配置 conf/applicationContext.xml 所连接节点的 IP 和端口信息,控制台关键配置如下:
当然,控制台也支持连接多个群组,并提供了 switch 命令来切换群组,连接多个群组时,需要在 groupChannelConnectionsConfig bean id 中配置多个连接,分别连接到对应群组的区块链节点。
注: 控制台依赖于 Java 8 以上版本,Ubuntu 16.04 系统安装 openjdk 8 即可。CentOS 请安装 Oracle Java 8 以上版本。
使用 start.sh 脚本启动控制台,控制台启动成功会输出如下界面:
向群组发交易
控制台提供了 deploy HelloWorld 指令向节点发交易,发完交易后,区块链节点块高会增加
总结
本文介绍了搭建仲裁链的关键过程,FISCO BCOS 2.0 的操作文档 step by step 介绍了如何部署多群组区块链,详细流程可以参考https://fisco-bcos-documentation.readthedocs.io/zh_CN/release-2.0/docs/tutorial/group_use_cases.html。
本文转载自 FISCO 金链盟公众号。
原文链接:https://mp.weixin.qq.com/s/gwk1ejkdIHXIV3RkD9Ez9g
评论