fabric configtxlator

最新文档 https://www.ibm.com/developerworks/cloud/library/cl-add-an-organization-to-your-hyperledger-fabric-blockchain/index.html

首先有两个问题:

1.在fabric网络运行一段时间后,如何新建应用通道,并让新的组织加入新的应用通道

2.在fabric网络运行一段时间后,如何让新的组织加入原有的应用通道

问题分析:

1.创建新的应用通道需要发送应用通道配置到系统通道(orderer)取回应用通道创世区块(包含有应用通道各组织证书),所以必须先修改或更新系统通道配置区块,加入新添加的组织,才能在orderer创建新通道,返回新通道的创世区块,然后发送该应用通道创世区块到新组织,让新组织加入新应用通道

2.待确认

1)先修改或更新系统链的配置区块,在其中加入新增组织的msp信息(问题1解决)

2)利用新的通道配置(包含新增组织)向系统链取得原有应用链新的配置区块

3)广播新的配置区块到应用通道各节点

4)发送应用通道创世区块给新的组织节点,让它们加入该通道,然后同步区块数据

 

问题1实验步骤

1.我们选用fabric提供的first-network例子

$git clone https://github.com/hyperledger/fabric-samples.git

$cdfabric-samples/first-network

2.修改crypto-config.yaml,提前注册Org3和Org4

./byfn.sh -m generate

生成各种网络实体的所有证书和密钥,用于引导排序服务的起源块,以及配置通道所需的配置事务集合

其中系统链创世区块只包含Org1和Org2得msp信息,应用通道配置channel.tx中指定mychannel的包含组织Org1和Org2

在crypto-config中生成了Org1、Org2、Org3和Org4四个组织的msp信息

3.修改base/docker-compose-base.yaml,添加Org3和Org4基础容器配置

 

4.创建mychannel2的通道配置

 

mkdir channel2-artifacts;mkdir blocks

修改configtx.yaml(也可以创建新的“configtx”文件),用于创建mychannel2通道配置

configtxgen -profile TwoNewOrgsChannel -outputCreateChannelTx ./channel2-artifacts/channel.tx -channelID mychannel2

在channel2-artifacts内生成channel2的通道配置

修改docker-compose-cli.yaml

 

5../byfn.sh -m up 开启网络

此时fabric网络已经开启,在系统通道中创建了一个应用通道mychannel,Org1、Org2通道已经加入该应用通道,Org3、Org4的peer节点已经开启,但未加入任何通道,接下来我们创建新应用通道mychannel2,然后让Org3、Org4组织加入该通道

6.接下来我们更新fabric系统链的配置区块,加入Org3、Org4的msp信息

 

1)开启configtxlator服务,服务监听在本地任意ip地址和7059端口

无论配置交易文件和初始区块文件都是二进制格式,无法直接编辑。

configtxlator工具将这些配置文件在二进制格式和方便阅读的json格式之间进行转换。

英文文档:https://github.com/hyperledger/fabric/tree/master/examples/configtxupdate

中文文档:https://github.com/qiushaoxi/doc_translation/blob/master/Reconfiguring%20with%20configtxlator.rst

 

configtxlator工具是一个restful服务程序,采用如下命令启动服务:

 

configtxlator start --hostname="0.0.0.0" --port 7059

2)获取系统通道testchainid配置区块:

docker exec -it cli /bin/bash  进入cli

mkdir blocks;cd blocks

修改环境变量(一定要找到script脚本中peer channel fetch的例子为参考)

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值