peer channel create解析

本文详细解析了`peer channel create`命令的工作原理,包括命令选项、内部逻辑和源码分析。介绍了如何构造common.Envelope消息,以及channel.tx文件的生成和查看过程。此外,还探讨了orderer.example.com域名解析的方法以及channel.tx文件的内容和结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

peer channel create解析

目的

  1. peer channel create命令如何进行操作,以及操作选项
  2. peer channel create命令的内部逻辑流程分析(不涉及到远程orderer执行)

简介

peer channel create 是用于创建通道的命令,该命令首先构造一个common.Evelope的消息包,然后发送给orderer,由orderer完成通道的创建。而create构造消息的过程依赖于通道配置文件channel.tx,channel.tx的生成依赖于configtx.yaml。我们用一张图来展示整个流程的大致步骤:
在这里插入图片描述

那么创建通过命令执行后做了哪些事情?

  1. 创建了基于通道名称对应的通道
  2. 配置了通道上的锚节点?(虽然配置文件当中包含,但是待进一步确认

命令分析

命令选项

查看fabric文档Commands Reference部分,peer channel create的命令行选项如下:

参数名 含义
-o 连接的orderer的地址,hostname:port
-c channel的名称,默认为mychannel
-f 配置的交易信息(暂时还没搞清楚)
–tls 和orderer通信时是否启用tls
–cafile 使用tls时,所使用的orderer的证书

操作样例

我们以fabric/example/e2e_cli为例,在e2e_cli目录下中script/script.sh文件,createChannel函数中,创建channel语句为:

peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA >&log.txt

其中的变量含义如下:

变量名 含义
$CHANNEL_NAME 采用的是默认,为mychannel
$CORE_PEER_TLS_ENABLED /e2e_cli/base/peer-base.yaml中定义的环境变量,为true
- CORE_PEER_TLS_ENABLED=true
$ORDERER_CA orderer的证书
ordererO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值