FISCO BCOS 双机构双群组搭链

目录

​编辑

编写ipconf文件

搭建区块链网络

启动节点

配置控制台

解压

拷贝控制台配置文件

Console连接 agencyA 中节点

拷贝sdk (SDK是通过握手信息才确定群组信息)

修改配置文件

启动控制台

Console连接 agencyB 中节点

存在问题

问题复现

问题解决

修改控制台配置文件

启动控制台


基于给定的虚拟机环境以及链环境(地址“/root/tools”),搭建如下图所示的单机、双机构、二群组、四节点的星形组网拓扑区块链系统。其中,二群组名称分别为 group1、group2,两个机构名称为 agencyA、agencyB。p2p_port、channel_port、jsonrpc_port 起始端口分别为 30330、20230、 8545,确保搭建的区块链系统能正常运行。

编写ipconf文件

127.0.0.1:2 agencyA 1
127.0.0.1:2 agencyB 2

搭建区块链网络

bash build_chain.sh -f ipconf -p 30330,20230,8545 -e bin/fisco-bcos

启动节点

bash nodes/127.0.0.1/start_all.sh

配置控制台

解压

tar zxvf console.tar.gz

拷贝控制台配置文件

cp -r console/conf/config-example.toml console/conf/config.toml

Console连接 agencyA 中节点

拷贝sdk (SDK是通过握手信息才确定群组信息)
cp -r nodes/127.0.0.1/sdk/* console/conf/

修改配置文件
vim console/conf/config.toml

启动控制台
bash console/start.sh

可以看控制台成功连接到 agencyA

Console连接 agencyB 中节点

存在问题

如果使用一开始搭理生成的sdk来配置控制台,会出现节点连接失败握手失败的问题

问题复现

修改控制台配置文件,连接节点的端口为 agnecyB 的节点

root@admin:~/tools# bash console/start.sh 2
create BcosSDK failed, error info: init channel network error!
org.fisco.bcos.sdk.network.NetworkException:
* TRACE INFORMATION:
----------------------------
====> STEP1: try to connect nodes with ecdsa context...
<==== STEP1-1: Load certificates for ecdsa context success...
<==== STEP1 Result: try to connect nodes with ecdsa context failed. reason:
Failed to connect to all the nodes!
* ssl handshake failed:/127.0.0.1:20232
 reason: The node closes the connection. Maybe connect to the sm node with ecdsa context or the node and the SDK are not belong to the same agency.
* ssl handshake failed:/127.0.0.1:20233
 reason: The node closes the connection. Maybe connect to the sm node with ecdsa context or the node and the SDK are not belong to the same agency.

----------------------------
====> STEP2: connect nodes with ecdsa context failed, try to connect nodes with sm-context...
<==== STEP2 Result: connect with sm context failed for cert missing.
* Missed certificates:
[conf/gm/gmca.crt,conf/gm/gmsdk.crt,conf/gm/gmsdk.key,conf/gm/gmensdk.key,conf/gm/gmensdk.crt,]
currentPath: /root/tools/console
----------------------------
<====> Error: try to connect nodes with both ecdsa and sm context failed <====>
<====> Please refer to github issue: https://github.com/FISCO-BCOS/java-sdk/issues/536
<====> Please refer to fisco-docs: https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/faq/connect.html
----------------------------
* FISCO BCOS Java SDK Version: 2.9.1
* Support secp256k1 : true
* Java Version : 1.8.0_442
* JDK Disabled NamedCurves : null
* JDK DisableNative Option : false
* OS Name : Linux
* OS Arch : amd64
* OS Version : 5.15.0-131-generic
* JVM Version : 25.442-b06
* JVM Vendor : Private Build
* JVM Vendor URL : http://java.oracle.com/

问题解决

需要将 agencyB 的 agency.crt  agency.key 复制到控制台的 conf 目录下

cp -r agency.crt agency.key /root/tools/console/conf/

ca.crt 可以用一开始搭链生成的 sdk 中 ca.crt,也可以使用 nodes/cert/ 目录下的 ca.crt 或者是 nodes/cert/机构名/ 目录下的 ca.crt 。它们的 ca.crt 都是一样的

修改控制台配置文件

启动控制台
bash console/start.sh 2

可以看到控制台成功连接到 agencyB

FISCO BCOS是一个基于联盟链技术的企业级区块链平台。通过FISCO BCOS,可以搭建单一群组FISCO BCOS链联盟。 首先,要搭建FISCO BCOS链联盟,需要进行以下几个步骤。 第一步,准备环境。搭建FISCO BCOS链联盟需要一台可用的服务器,可以选择云服务器或物理服务器。同时,需要安装和配置必要的软件和环境,包括操作系统、Java开发环境、MySQL数据库等。 第二步,下载FISCO BCOS源代码。可以从FISCO BCOS官方网站下载最新版的FISCO BCOS源代码,并解压到服务器上的指定目录。 第三步,配置节点参数。进入解压后的FISCO BCOS源代码目录,修改config目录下的节点配置文件,配置节点的IP地址、端口号、节点类型等信息。 第四步,生成节点证书。在源代码目录下的nodes目录中,使用FISCO BCOS提供的脚本工具生成节点的证书和私钥。 第五步,初始化创世块。在源代码目录下,使用FISCO BCOS提供的脚本工具初始化创世块,并设置相关的参数,如创世节点的账户余额、链 ID、共识算法等。 第六步,启动节点。进入源代码目录下的script目录,执行启动节点的脚本命令,启动FISCO BCOS链联盟的节点。 通过以上步骤,就可以成功搭建单一群组FISCO BCOS链联盟。在链联盟中,各个节点可以进行交易和通信,实现数据的共享和验证。需要注意的是,在搭建和操作FISCO BCOS链联盟时,要确保网络安全和相应的权限控制,保护链上数据的安全性。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值