前提是byfn可以运行 之前配置了好多次了,这次记录一下 1.第一步 使用cryptogen为fabric网络产生组织结构和证书 相关的文件是crypt-config.yaml
../bin/cryptogen generate --config=./crypto-config.yaml终端显示
org1.example.com org2.example.com2.我们接下来要告诉configtxgen工具去找这个configtx.yaml文件,让他在当前的工作目录寻找:
export FABRIC_CFG_PATH=$PWD调用configtxgen来产生创世区块
../bin/configtxgen -profile SampleMultiNodeEtcdRaft -channelID byfn-sys-channel -outputBlock ./channel-artifacts/genesis.block 2020-10-22 18:21:38.472 CST [common.tools.configtxgen] main -> INFO 001 Loading configuration 2020-10-22 18:21:38.494 CST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 002 orderer type: etcdraft 2020-10-22 18:21:38.494 CST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 Orderer.EtcdRaft.Options unset, setting to tick_interval:"500ms" election_tick:10 heartbeat_tick:1 max_inflight_blocks:5 snapshot_interval_size:16777216 2020-10-22 18:21:38.495 CST [common.tools.configtxgen.localconfig] Load -> INFO 004 Loaded configuration: /home/li/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/first-network/configtx.yaml 2020-10-22 18:21:38.496 CST [common.tools.configtxgen] doOutputBlock -> INFO 005 Generating genesis block 2020-10-22 18:21:38.496 CST [common.tools.configtxgen] doOutputBlock -> INFO 006 Writing genesis block3.创建通道交易配置文件
export CHANNEL_NAME=mychannel && ../bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME 2020-10-22 18:24:20.420 CST [common.tools.configtxgen] main -> INFO 001 Loading configuration 2020-10-22 18:24:20.443 CST [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /home/li/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/first-network/configtx.yaml 2020-10-22 18:24:20.443 CST [common.tools.configtxgen] doOutputChannelCreateTx -> INFO 003 Generating new channel configtx 2020-10-22 18:24:20.445 CST [common.tools.configtxgen] doOutputChannelCreateTx -> INFO 004 Writing new channel tx锚节点
../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP ../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP4.启动网络
docker-compose -f docker-compose-cli.yaml up -d5.加入通道 进入容器
docker exec -it cli bash配置环境变量
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp CORE_PEER_ADDRESS=peer0.org1.example.com:7051 CORE_PEER_LOCALMSPID="Org1MSP" CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt创建通道
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报错:
Error: got unexpected status: SERVICE_UNAVAILABLE -- no Raft leader老常规了,以前在做1.4.3这步raft也报错,因为raft需要有2n+1个节点,先把网络down了,我们设置5个orderer节点看看