Hyperledger Fabric(四)first-network案例中的主要配置文件及主要脚本
主要配置文件:
1.crypto-config.yaml
Cryptogen工具使用该文件生成“密码材料”,即Fabric网络中各种实体(peer、order、ca)所需的证书及密钥。crypto-config.yaml包含网络拓扑结构定义,Cryptogen以其为基础为组织(包括order)和属于这些组织的组件(peer和ca)生成证书及密钥。该配置文件中的“count”变量用来指定每个组织的对等点数量,文件的其余部分较容易理解。
cryptogen generate --config=./crypto-config.yaml #运行该工具后,这些证书将被放置在一个名为“crypto-config”的文件夹中。
2.configtx.yaml
configtx.yaml包含一个联盟网络(通道)的定义。该文件首先指定每个成员组织的MSP目录的位置(order创世区块中需要存储成员组织的根证书)、组织的锚节点等。然后指定了一个联盟(联盟中可以创建多个通道)由哪些组织构成,以及order服务的相关配置(共识类型,区块大小等)。此外该文件还规定了系统通道和普通通道的一些访问控制策略。
configtxgen工具基于configtx.yaml配置文件创建四个工件:genesis.block,channel.tx,Org1MSPanchors.tx,Org2MSPanchors.tx。genesis.block为系统通道(由所有order节点维护)的创世区块,后三者分别为创建通道,设置ORG1、ORG2的锚节点(锚节点为某组织对order可见的节点)的系统事务,Fabric的配置操作作为系统事务提交到系统通道中。
export FABRIC_CFG_PATH=$PWD #告诉configtxgen从哪里寻找configtx.yaml文件
configtxgen -profile SampleMultiNodeEtcdRaft -channelID byfn-sys-channel -outputBlock ./channel-artifacts/genesis.block #生成系统通道创世区块genesis.block
export CHANNEL_NAME=mychannel #通过环境变量设定通道名称
configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME #创建 通道配置 事务
configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP #创建 更新组织Org1在该通道上的锚节点 的事务
主要脚本:
1.ccp-generate.sh
fabcar案例中,startFabric.sh脚本中在使用cryptogen工具为组织生成证书后,调用该脚本生成CCP文件,生成的CCP文件有json和yaml两种格式。CCP文件的用处还不太明确,貌似是SDK连接区块链网络时所需要的文件,后续更新。
configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP #创建 更新组织Org2在该通道上的锚节点 的事务
生成的四个配置组件位于channel-artifacts目录下