化繁为简自行搭建你的Fabric网络:不可或缺的配置文件-配置文件

目标

1.理解 configtx.yaml 配置文件中的各项含义

2.掌握创建 Orderer 服务启动初始区块的命令及参数

3.掌握创建应用通道交易配置文件的命令及参数

任务实现

3.2.1 configtx.yaml配置文件指定哪些核心内容

创建服务启动初始区块及应用通道交易配置文件需要指定 Orderer 服务的相关配置以及当前的联盟信息, 这些信息定义在一个名为 configtx.yaml 文件中。

configtx.yaml 配置文件内容如下:

化繁为简自行搭建你的Fabric网络:不可或缺的配置文件

该配置文件中由 Organizations 定义了三个成员 Orderer Org、Org1、Org2,并且设置每个成员的MSP 目录的位置,从而允许在 orderer genesis 块中存储每个 Org 的根证书。通过这些信息实现与Orderer 服务通信的任何网络实体都可以验证其数字签名。而且为每个 PeerOrg 指定了相应的锚节点(Org1 组织中peer0.org1.example.com与 Org2 组织中peer0.org2.example.com)。

Orderer部分指定了Orderer节点的信息:

1.OrdererType 指定了共识排序服务的实现方式,有两种选择(solo 及 Kafka)。

2.Addresses指定了 Orderer 节点的服务地址与端口号。

3.BatchSize指定了批处理大小,如最大交易数量,最大字节数及建议字节数。

Profiles 部分指定了两个模板:TwoOrgsOrdererGenesis 与 TwoOrgsChannel 。

1.TwoOrgsOrdererGenesis模板用来生成Orderer服务的初始区块文件,该模板由三部分组成:

1.1 Capabilities 指定通道的权限信息。

1.2 Orderer 指定了Orderer服务的信息(OrdererOrg)及权限信息。

1.3 Consortiums 定义了联盟组成成员(Org1&Org2)。

2.TwoOrgsChannel 模板用来生成应用通道交易配置文件。由两部分组成:

2.1 Consortium 指定了联盟信息。

2.2 Application 指定了组织及权限信息。

3.2.2 Orderer服务启动初始区块的创建

熟悉了配置文件中的相关信息后,就可以创建 Orderer 服务启动初始区块;确认当前在fabric-samples/first-network 目录下。

指定使用 configtx.yaml 文件中定义的 TwoOrgsOrdererGenesis 模板,,生成 Orderer 服务系统通道的初始区块文件。

化繁为简自行搭建你的Fabric网络:不可或缺的配置文件化繁为简自行搭建你的Fabric网络:不可或缺的配置文件

FAQ

1.我可以查看生成的文件中的详细内容吗?

可以查看。我们可以在命令提示符下输入 ../bin/configtxgen -help 命令(当前在 fabric-samples/first-network 目录下)查看相应的参数,会发现有 inspectBlock、inspectChannelCreateTx 两个参数。通过这两个参数即可查看相应的配置文件内容。

推荐阅读