如何在现有Fabric网络上添加一个Org?本指南基于IBM DeveloperWorks——使用简单的工具将组织添加到现有的Hyperledger Fabric区块链网络中。
感谢Bhargav Perepa和Jason Yellick的出色工作!而且我只是想以更礼貌的方式添加一些细节。?
完成本实验后,你应该有一个额外的组织:
假设
- 在byfn.sh所在的同一路径上启动此实验。
- Fabric网络已经创建并运行(BYFN样本)。
条件
- 使用最新的Fabric build>= 1.1.0-preview
安装jq工具
这个实验需要jq
二进制文件。从jq存储库下载它们。
OS X
wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-osx-amd64
chmod +x jq-osx-amd64
sudo mv jq-osx-amd64 /usr/local/bin/jq
linux
wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64
chmod +x jq-linux64
sudo mv jq-linux64 /usr/local/bin/jq
为Org3创建证书
创建配置文件:
cat > crypto-config-add.yaml <<EOF
PeerOrgs:
- Name: Org3
Domain: org3.example.com
Template:
Count: 1
Users:
Count: 1
EOF
从配置文件生成证书:
../bin/cryptogen generate --config=./crypto-config-add.yaml
您在./crypto-config/peerOrganizations/org3.example.com/
上获得了Org3的证书。
运行configtxlator
configtxlator工具旨在支持重新配置Fabric网络。
../bin/configtxlator start &
查询当前配置
查询cli
容器的当前配置:
docker exec -it cli peer channel fetch config config_block.pb -o orderer.example.com:7050 -c mychannel --tls --cafile ./crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
docker cp cli:/opt/gopath/src/github.com/hyperledger/fabric/peer/config_block.pb .
解码配置
使用configtxlator解码获取的配置文件:
curl -X POST --data-binary @config_block.pb http://127.0.0.1:7059/protolator/decode/common.Block > config_block.json
扩展配置部分
从解码的配置文件config
中提取扩展配置部分:
jq .data.data[0].payload.data.config config_block.json > config.json
从配置部分提取Org1MSP
部分:
jq .channel_group.groups.Application.groups.Org1MSP config.json > Org1MSP.json
创建新配置
基于Org1MSP.json
创建Org3MSP.json
文件:
ADMIN_CERT=$(cat ./crypto-config/peerOrganizations/org3.example.com/users/Admin\@org3.example.com/msp/signcerts/Admin