写点什么

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:411025

评论

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

做一款互联网内容平台,到底要懂多少AI?

百度开发者中心

AI

elk客户端与springboot整合

小鲍侃java

签约计划第二季

在 ABAP 里模拟实现 Java Spring 的依赖注入

汪子熙

Java 28天写作 SAP abap 12月日更

恒拓高科WorkPlus - 政企IM私有化解决方案

BeeWorks

前端避坑指南丨辛辛苦苦开发的APP竟然被判定为简单网页打包?

YonBuilder低代码开发平台

大前端 APP开发 APICloud 跨端开发

荣耀周榜公布!你上榜了么?2022.1.17-1.23

InfoQ写作社区官方

话题讨论 热门活动

使用linux搭建单机elk环境

小鲍侃java

签约计划第二季

高可用 | repmgr 构建 PostgreSQL 高可用集群部署文档【建议收藏】

RadonDB

数据库 postgresql RadonDB

安全RCE之未授权访问分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

VirtualBox 网络配置 NAT + Host-Only

李鑫磊

Kubernetes 虚拟机 网络配置 virtualbox

【11月】InfoQ写作平台荣耀月报:名单出炉!

InfoQ写作社区官方

话题讨论 热门活动

Linux一学就会之Centos-文件权限管理

学神来啦

云计算 Linux centos linux运维

elk简介与背景

小鲍侃java

签约计划第二季

小企业如何落地elk日志收集系统

小鲍侃java

内容合集 签约计划第二季

大型前端项目 DevOps 沉思录 —— CI 篇d

CODING DevOps

ci DevOps 持续集成 工作流

莫要寻找可能不存在的答案

FunTester

学习 解决方案 自学 FunTester 思路

恒源云(GPUSHARE)_opencv(论文笔记)

恒源云

深度学习

在 Windows 笔记本上调试运行在 iOS 设备上的前端应用

汪子熙

大前端 web api iOS Developer 28天写作 12月日更

使用docker安装elk环境

小鲍侃java

签约计划第二季

编曲时如何在FL Studio卷帘窗口修改单个音符音量

懒得勤快

使用自定义注解打印logstash日志

小鲍侃java

签约计划第二季

使用logstash获取springboot控制台日志并传输到elasticsearch

小鲍侃java

签约计划第二季

使用logstash监控微服务项目,并制定索引格式

小鲍侃java

签约计划第二季

logback获取bootstrap.yml配置

小鲍侃java

签约计划第二季

数仓和数据中台长期霸权,数据湖最稳

用友BIP

数据胡

数据中台的OneID是个什么鬼

用友BIP

数据中台 主数据

数据库自增 ID 用完了会咋样?

CRMEB

一个基于HTML的可定制轮盘——帮你告别选择困难症

海拥(haiyong.site)

html 大前端 28天写作 签约计划第二季 12月日更

【AI最前线】精准优质-资讯|分享|热议第42期

百度大脑

在有道 | 同宇:一个正在老去的程序员

有道技术团队

程序员 技术人 工程师思维 人物访谈

面试腾讯:渗透测试工程师题型汇总

喀拉峻

面试 网络安全 安全 渗透测试

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