(5条消息) (四)Fabric2.0通道实践

目录

    • 1.1 创建通道配置文件

    • 1.2 环境准备

    • 1.3 创建通道tx文件

    • 1.创建通道准备

    • 2.创建通道

    • 3.节点加入通道

    • 4.验证节点加入通道

    • 5.总结

1.创建通道准备

1.1 创建通道配置文件

由于first-network目录已存在configtx.yaml,如果需要修改通道配置的,可备份原本configtx.yaml,修改相关通道配置。

1.2 环境准备

打开控制台,执行以下命令

  • 设置二进制文件configtxgen目录到环境变量,方便调用

export PATH=${PWD}/../bin:${PWD}:$PATH
  • 设置环境变量 FABRIC_CFG_PATH为configtx.yaml所在目录

export FABRIC_CFG_PATH=${PWD}

1.3 创建通道tx文件

控制台执行以下命令

configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel2.tx -channelID channel2

-outputCreateChannelTx :输出tx文件路径
-channelID: 通道ID

执行结果:

2.创建通道

原本创建通道是通过cli客户端创建的,2.0这次可以直接通过二进制文件创建,二进制与cli的区别,除了表面形式的区别外,其实都是一样,不同在于cli的环境变量一开始就设置好一个默认的,例如peer的证书路径,使用二进制的话,就直接在控制台设置环境编码,详情查看fabric-samples/test-network的脚本,这里不做详细介绍,接下来我们还是使用cli比较快捷创建一个测试通道。

进入cli容器

docker exec -it cli bash

进入后:

由于cli的channel-artifacts已经与宿主机的~/first-network/channel-artifacts建立映射,因此上面新建的channel文件也存在cli的目录下

在当前目录输入命令:

peer channel create -o orderer.example.com:7050 -c channel2 -f ./channel-artifacts/channel2.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

自定义的话只需要修改 -o 参数排序节点服务域名端口 -c 通道ID -f 通道文件所在路径 -tls 是否启用tls -cafile ca路径

控制台数据结果如下,表示通道创建成功

当前目录出现通道区块文件如下:

3.节点加入通道

设置cli连接节点对象只需要设置相应的环境变量,目前cli设置的节点为peer0.org1.example.com

输入命令,查看环境变量

env|grep CORE

输出结果:

如需要修改节点只需要修改上面的环境变量为对应节点的配置,现在将peer0.org1.example.com添加到通道

控制台输入以下命令:

peer channel join -b channel2.block

-b 区块文件路径

控制台输出如下结果,表示节点加入成功

查看排序节点日志如下

排序节点写入了新的区块,同时为该通道创建了一个raft集群。

4.验证节点加入通道

控制台输入

peer channel list

控制台输出结果如下:
可以看到当前节点已经加入到channel2

5.总结

在通道方面,客户端的操作上相较于1.x没什么变化,相关通道策略配置跟1.4基本一致,变化在于底层共识,原本的创建通道只是创建一个区块,在kafka开个订阅Topic,现在2.0的是一个通道就创建一个raft服务集群实现通道交易一致性。以上的脚本主要参照first-network下的script/script.sh。

(0)

相关推荐

  • 联盟链技术

    奇技 · 指南目前区块链技术的发展存在两个大的方向,即联盟链和公链,两者之间最大的区别在于是否存在"准入机制",这里的"准入机制"指访问权限的管理机制.联盟链有 ...

  • (4条消息) (九)Fabric2.0 通道实践

    目录 2.1提取并解析通道配置 2.2 修改配置 2.2 重新编码跟提交配置 1.通道配置说明 2.更新通道 3. 总结 下面实践将基于已部署好的first-network. 1.通道配置说明 我们再 ...

  • (5条消息) (七)Fabric2.0智能合约实践

    总目录: (0) 如何利用区块链保护知识产权 (一)HyperLedger Fabric 2.0-release测试网络部署 (二)Fabric2.0 first-network 生成配置说明 (三) ...

  • (5条消息) (六)Fabric2.0 智能合约实践

    总目录: (0) 如何利用区块链保护知识产权 (一)HyperLedger Fabric 2.0-release测试网络部署 (二)Fabric2.0 first-network 生成配置说明 (三) ...

  • (5条消息) (五)Fabric2.0 智能合约实践

    目录 2.1 安装以及定义智能合约 2.1.1 打包合约 2.1.2 部署合约到节点 2.1.3 当前组织同意合约定义 2.1.4 检查合约定义是否满足策略 2.1.5 提交合约 2.1.6 查看节点 ...

  • (4条消息) (十)Fabric2.0

    目录 4.1 获取配置 4.2 修改配置 4.3 签名并提交更新配置 1. 新增org3证书配置 2. 新增org3定义到区块链 3.启动org3相关节点容器 4. 更新通道配置 5. org3加入通 ...

  • (4条消息) (八)Fabric2.0Java SDK实践

    总目录: (0) 如何利用区块链保护知识产权 (一)HyperLedger Fabric 2.0-release测试网络部署 (二)Fabric2.0 first-network 生成配置说明 (三) ...

  • (4条消息) (三)Fabric2.0启动网络脚本配置剖析

    目录 2.1 排序节点启动 2.2 节点启动 1.byfn.sh 2.docker-compose-cli.yaml 3.docker-compose-etcdraft2.yaml 4.总结 根据Hy ...

  • (4条消息) (二)Fabric2.0 first

    ),为了加深对2.0的认识,从first-network的部署配置开始进行学习. 上篇有提到在运行Fabric网络前,先执行了./byfn.sh generate 实现创始区块.通道以及证书文件的生成 ...

  • (3条消息) 分布式事务架构设计实践

    原文:https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651961647&idx=1&sn=8421c1da087 ...