Hyperledger Fabric 配置过程
1.生成组织结构与身份证书
1.1配置文件fabric-sample/first-network/crypto-config.yaml
OrdererOrg: hostname+domin的值构成完整域名
PeerOrg: EnableNodeOUs是否在msp下生成config.yaml文件
Template.Count当前组织Peer节点成员数量
Users.Count当前组织中每个Peer节点的用户数量
1.2 生成组织结构以及身份证书
crypogen工具根据指定的配置文件实现标准化自动生成
sudo /bin/cryptogen generate --config=./crypto-config.yaml
2.不可或缺的配置文件
2.1 配置文件fabric-sample/first-network/configtx.yaml
该文件指定了初始区块与通道的相关信息
2.2Orderer服务启动初始区块的创建configtxgen
sudo ../bin/configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
2.3 创建应用通道配置文件
sudo ../bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME
2.4 生成锚节点更新配置文件
sudo ../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP
sudo ../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP
3.启动分布式网络
3.1 Hyfa采用容器技术启动多个网络节点,使用docker-compose实现容器管理
配置文件(对于各节点容器)位置fabric-sample/first-network/docher-compose-cli.yaml
3.2 关联的配置文件:
base/docker-compose-base.yaml文件,指定了Orderer节点与Peer节点的主要配置信息
peer-base.yaml指定了所有Peer容器的基本共同信息
3.3 启动网络:通过docker-compose工具的命令启动Hyfa的所有节点
sudo docker-compose -f docker-compose-cli.yaml up -d
sudo docker down
sudo docker-compose -f docker-compose-cli.yaml down
4.创建应用通道
4.1 创建通道
sudo docker exec -it cli bash ##进入cli容器中
export CHANNEL_NAME=mychannel
peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
4.2 将节点加入应用通道
peer channel join -b mychannel.block
4.3更新锚节点
使用Org1管理员的身份更新:
peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org1MSPanchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
使用Org2管理员的身份更新:
CORE_PEER_LOCALMSPID="Org2MSP"
CORE_PEER_ADDRESS=peer0.org2.example.com:7051
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/[email protected]/msp
CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org2MSPanchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
配置完成(●’◡’●),总的来说不是很困难,关键在于路径是不是正确,如果出现其他报错,建议重启大法。