《Hyperledger Fabric菜鸟进阶攻略》 —3.2 不可或缺的配置文件
3.2 不可或缺的配置文件
目标
1.理解configtx.yaml配置文件中的各项含义。
2.掌握创建Orderer服务启动初始区块的命令及参数。
3.掌握创建应用通道交易配置文件的命令及参数。
3.2.1 configtx.yaml配置文件指定的核心内容
生成组织结构与身份证书、密钥之后,需要为区块链创建一个GenesisBlock(初始区块或称之为创世区块)与Channel(通道),这些内容需要通过配置定义来指定相关的信息,如指定Orderer服务的相关配置,以及当前的联盟信息、联盟中所包含的组织信息,这些信息的配置被定义在configtx.yaml文件中。核心配置内容如下。
1)Organizations部分指定OrdererOrg与PeerOrg的组织信息,其核心目的是指定各组织的名称、唯一ID及MSP的目录所在路径。
2)Capabilities部分指定通道的权限信息。
3)Application部分指定初始加入通道的组织。
4)Orderer部分指定Orderer节点的信息。
①OrdererType指定共识排序服务的实现方式,目前有两种选择(solo及Kafka);
②Addresses指定Orderer节点的服务地址与端口号;
③BatchSize指定与消息相关的批处理大小,如最大交易数量、最大字节数及建议字节数。
5)Profiles部分指定了两个模板:TwoOrgsOrdererGenesis与TwoOrgsChannel。
①TwoOrgsOrdererGenesis模板用来生成Orderer服务的初始区块文件,该模板由3部分组成。
Capabilities:指定通道的权限信息。
Orderer:指定Orderer服务的信息(OrdererOrg)及权限信息。
Consortiums:定义联盟组成成员(Org1、Org2)。
②TwoOrgsChannel模板用来生成应用通道交易配置文件,由两部分组成。
Consortium:指定联盟信息。
Application:指定组织及权限信息。
configtx.yaml配置文件完整内容如下:
---
Organizations:
- &OrdererOrg
Name: OrdererOrg
ID: OrdererMSP
MSPDir: crypto-config/ordererOrganizations/example.com/msp
- &Org1
Name: Org1MSP
ID: Org1MSP
MSPDir: crypto-config/peerOrganizations/org1.example.com/msp
AnchorPeers:
- Host: peer0.org1.example.com
Port: 7051
- &Org2
Name: Org2MSP
ID: Org2MSP
MSPDir: crypto-config/peerOrganizations/org2.example.com/msp
AnchorPeers:
- Host: peer0.org2.example.com
Port: 7051
Capabilities:
Global: &ChannelCapabilities
V1_1: true
Orderer: &OrdererCapabilities
V1_1: true
Application: &ApplicationCapabilities
V1_2: true
Application: &ApplicationDefaults
Organizations:
Orderer: &OrdererDefaults
OrdererType: solo
Addresses:
- orderer.example.com:7050
BatchTimeout: 2s
BatchSize:
MaxMessageCount: 10
AbsoluteMaxBytes: 99 MB
PreferredMaxBytes: 512 KB
Kafka:
Brokers:
- 127.0.0.1:9092
Organizations:
Profiles:
TwoOrgsOrdererGenesis:
Capabilities:
<<: *ChannelCapabilities
Orderer:
<<: *OrdererDefaults
Organizations:
- *OrdererOrg
Capabilities:
<<: *OrdererCapabilities
Consortiums:
SampleConsortium:
Organizations:
- *Org1
- *Org2
TwoOrgsChannel:
Consortium: SampleConsortium
Application:
<<: *ApplicationDefaults
Organizations:
- *Org1
- *Org2
Capabilities:
<<: *ApplicationCapabilities
在如上的示例配置文件中,由Organizations定义了3个成员OrdererOrg、Org1、Org2,并且设置每个成员的名称、唯一ID与MSP目录的位置,从而允许在Orderer Genesis块中存储每个Org的根证书;通过这些配置信息实现与Orderer服务通信的任何网络实体都可以验证其数字签名;为每个PeerOrg组织指定了相应的锚节点(Org1组织中的peer0.org1.example.com与Org2组织中的peer0.org2.example.com)。
- 点赞
- 收藏
- 关注作者
评论(0)