证书生成cryptogen crypto-config.yaml
创始块,通道configtxgen configtx.yaml(first-network)组织相关信息
组织名字,组织ID,组织MSP
组织名字,组织ID,组织MSP,锚节点
排序节点属性
共识机制
区块生成时机
profiles:
创始块信息
通道信息
两个组织
组织1
order
orderer.example.com 组织名字,组织ID,组织MSP
组织2
peer
org2.example.com
组织名字,组织ID,组织MSP,锚节点
目录mytestfabric
-------base-------channel-artifacts
---------------channel.tx
---------------CppMSPanchor.tx
---------------gensis.block
---------------GoMSPanchor.tx
-------crypto-config
-------chaincode
--------------可以用chaincode_example02
使用docker-compose.yaml进行启动,docker-compose.yaml来源于docker-compose-cli.yaml。
docker-compose ps命令进行查看相应的docker-compose启动的进程
docker-compose up docker-compose down
docker exec -it cli bash进入客户端
orderer.example.comorg1.example.comorg2.example.com
cryptogen --help
cryptogen generate --config=crypto-config.yaml
configtxgen --help# 输出创始块区块文件的路径和名字
`-outputBlock string`
# 指定创建的channel的名字, 如果没指定系统会提供一个默认的名字.
`-channelID string`
# 表示输通道文件路径和名字
`-outputCreateChannelTx string`
# 指定配置文件中的节点
`-profile string`
# 更新channel的配置信息
`-outputAnchorPeersUpdate string`
# 指定所属的组织名称
`-asOrg string`
# 要想执行这个命令, 需要一个配置文件 configtx.yaml
profile 后边的参数从configtx.yaml中的Profiles 里边的配置项
- 生成创始块文件
$ configtxgen -profile OrgsOrdererGenesis -outputBlock ./genesis.block -channelID testchannel
- 在当前目录下得到一个文件: genesis.block - 生成通道文件
$ configtxgen -profile OrgsChannel -outputCreateChannelTx channel.tx -channelID testchannel
# 如果没有指定channelID, 默认的通道名叫 mychannel - 生成锚节点更新文件
这个操作是可选的
# 每个组织都对应一个锚节点的更新文件
# go组织锚节点文件
$ configtxgen -profile OrgsChannel -outputAnchorPeersUpdate GoMSPanchors.tx -channelID testchannel -asOrg OrgGoMSP
# cpp组织锚节点文件
$ configtxgen -profile OrgsChannel -outputAnchorPeersUpdate CppMSPanchors.tx -channelID testchannel -asOrg OrgCppMSP
# 查看生成的文件
$ tree -L 1
.
├── channel-artifacts
├── channel.tx ----------> 生成的通道文件
├── configtx.yaml
├── CppMSPanchors.tx -----> 生成的cpp组织锚节点文件
├── crypto-config
├── crypto-config.yaml
├── genesis.block --------> 生成的创始块文件
└── GoMSPanchors.tx ------> 生成的go组织锚节点文件
docker-compose.yaml
1、order节点环境变量
2、peer节点环境变量
3、客户端环境变量
4、配置文件
5、启动容器
configtxgen -profile MyGenesis -outputBlock genesis.block
configtxgen -profile MyChannel -outputCreateChannelTx channel.tx -channelID testchannel
更新锚节点
configtxgen -profile MyChannel -outputAnchorPeersUpdate orgGoAnchor.tx -channelID testchannel -asOrg OrgGoMSP
更新锚节点
configtxgen -profile MyChannel -outputAnchorPeersUpdate orgCppAnchor.tx -channelID testchannel -asOrg OrgCppMSP