QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

FISCO BCOS 2.0 使用教程: 群组架构实操演练

  • 2020-04-19
  • 本文字数:1786 字

    阅读完需:约 6 分钟

FISCO BCOS 2.0使用教程: 群组架构实操演练

仲裁链组织结构

下图是一个仲裁链示例:



企业 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]:[节点数] [机构名] [所属群组列表]


$ cat > ipconf << EOF127.0.0.1:2 arbitrator 1,2,3127.0.0.1:2 agencyA 1127.0.0.1:2 agencyB 2127.0.0.1:2 agencyC 3EOF
复制代码


调用 build_chain.sh 脚本构建仿真的本机仲裁链:


$ bash build_chain.sh -f ipconf -p 30300,20200,8545
复制代码


区块链节点配置成功后,会看到[INFO] All completed.的输出。

启动节点

生成区块链节点后,需要启动所有节点,节点提供 start_all.sh 和 stop_all.sh 脚本启动和停止节点。


# 启动节点$ bash start_all.sh
# 查看节点进程$ ps aux | grep fisco-bcos
复制代码


不发交易时,共识正常的节点会输出+++日志,使用 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 指令向节点发交易,发完交易后,区块链节点块高会增加


# ... 向group1发交易...$ [group:1]> deploy HelloWorld0x8c17cf316c1063ab6c89df875e96c9f0f5b2f744# 查看group1当前块高,块高增加为1表明出块正常,否则请检查group1是否共识正常$ [group:1]> getBlockNumber 1# ... 向group2发交易...# 切换到group2$ [group:1]> switch 2Switched to group 2[group:2]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


2020-04-19 17:41945

评论

发布
暂无评论
发现更多内容

SpringCloud-技术专题-Feign组件基本使用(1)

码界西柚

Configuration Hystrix spring-cloud Fegin Ribbon

什么,你管这叫“线程安全”?

Java大蜗牛

Java 程序员 编程语言 后端 线程安全

带你温习一下webpack配置

IT皮皮蟹

npm nodejs webpack

​太厉害了,终于有人把Spring条件注解讲明白了,送你上岸!

飞飞JAva

spring

流水线成功涨薪到年薪30W 只有努力才能成功

学Java关注我

Java 架构 程序人生 编程语言

yarn的applicationMaster介绍

五分钟学大数据

YARN

Boss直聘转发超100W次Java面试突击手册 火遍全网

比伯

Java 编程 程序员 架构 计算机

科技赋能 博睿数据引领教育行业走入“服务可达”时代

博睿数据

在线教育 博睿数据 服务可达

聪明人的训练(三十)

Changing Lin

4月日更

音频变速变调原理及soundtouch代码分析

floer rivor

音视频

飞桨中国行落地合肥,与当地企业共话产业智能化升级

百度大脑

智能化 飞桨中国行

阿里码农肝了2晚,整理的Java语法总结,网友:考试复习全靠它了

飞飞JAva

软件 IT专业的高校大学生是否写文调查问卷

Bob

问卷调查 行业分析能力考核 高校大学生 写文

我与写作平台的初次接触

Aldeo

1 周年盛典 我和写作平台的故事

让电影票房飞一会儿,五一换个姿势重温经典

华为云开发者联盟

音视频 电影修复 视频超分 媒体处理 混合失真

群英荟萃 | UINO优锘科技ThingJS平台亮相华为开发者大会

ThingJS数字孪生引擎

物联网 3D可视化 数字孪生

2.8W字Java基础学习和书籍推荐,真正意义上的从0到1学Java,才不是培训机构那种大纲文

北游学Java

面向对象 线程 集合 java基础 IO流

5月日更,InfoQ 高定T-恤,达标来领~

InfoQ写作社区官方

5月日更 热门活动

云图说|ModelArts Pro,为企业级AI应用打造的专业开发套件

华为云开发者联盟

AI 企业应用 ModelArts Pro 开发套件

参加人气创作者的一些感悟

石云升

28天写作 4月日更 1 周年盛典

弱密码会毁灭物联网(IoT)吗?

龙归科技

密码管理

【得物技术】网络优化——域名解析原理&实践

得物技术

网络 域名解析 域名 得物技术 实践

已跪!Java全能笔记爆火,Java教程/Java包/Eclipse安装指南全有

牛哄哄的java大师

Java

CloudQuery v1.3.7版本更新,新增「导出限制」

BinTools图尔兹

数据库 sql 数据安全 数据库管理

新人小白福利来啦!精简版java知识总结,阿里P8大牛看完都说绝了

牛哄哄的java大师

Java

引入:从云计算到Serverless

刘宇

Serverless的定义

刘宇

又一个免费良心的下载站,答应我:别再下到流氓软件了。

彭宏豪95

ios 效率 工具 下载 4月日更

博睿数据DataView标准化指标管理,助力企业快速制定SLO

博睿数据

数据中台 博睿数据 dataview

极光开发者周刊【No.0430】

极光JIGUANG

云原生除了K8S、微服务,还有...?

云计算

FISCO BCOS 2.0使用教程: 群组架构实操演练_文化 & 方法_FISCO金链盟_InfoQ精选文章