设置网络结构配置
节点的类型:
Peer(做校验的,执行交易更新账本的)
Order(构造区块和排序)
客户端(有SDK, java/go,)-> 客户端就是执行链码 生成交易
联盟链: 网络中运行多条链,比如很多机构,各自数据是隔离的
2个机构,各自有两个节点, order可共享
Crypto-config.yamlfabric-tools(网络结构配置 生成证书等等)
docker run --rm -v `pwd`:/data hyperledger/fabric-tools:x86_64-1.1.0 \
cryptogen generate --config=/data/crypto-config.yaml --output=/data/crypto-config
生成证书
配置创世链块configtx.yaml -> 生成genesis.block(创世区块)
docker run -v `pwd`:/data -e FABRIC_CFG_PATH=/data --rm hyperledger/fabric-tools:x86_64-1.1.0 \
configtxgen -profile TwoOrgsOrdererGenesis -outputBlock /data/configtx/genesis.block
目前只有系统链(testchainid)
所以要创建自己的链,需要两种数据块,一是链的数据块,二是锚节点配置数据块(一条链上的每一个节点都有个锚节点,互相通信,每个组织都有一个数据配置块)
docker run -v `pwd`:/data -e FABRIC_CFG_PATH=/data --rm hyperledger/fabric-tools:x86_64-1.1.0 \
configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate /data/configtx/Org1MSPanchors_hello.tx -channelID hello -asOrg Org1MSP
docker run -v `pwd`:/data -e FABRIC_CFG_PATH=/data --rm hyperledger/fabric-tools:x86_64-1.1.0 \
configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate /data/configtx/Org2MSPanchors_hello.tx -channelID hello -asOrg Org2MSP
创建区块(链的区块)
docker run -v `pwd`:/data -e FABRIC_CFG_PATH=/data --rm hyperledger/fabric-tools:x86_64-1.1.0 configtxgen -profile TwoOrgsChannel -outputCreateChannelTx /data/configtx/hello.tx -channelID hello
启动节点容器(docker-compose)
把数据加到链上去
docker exec -e CORE_PEER_MSPCONFIGPATH=/opt/crypto-config/peerOrganizations/org1.fireflyc.im/users/Admin@org1.fireflyc.im/msp\
-e CORE_PEER_LOCALMSPID="Org1MSP" \
cli peer channel create -oorderer.fireflyc.im:7050-c hello -f /opt/configtx/hello.tx
docker exec cli mv /hello.block /opt/configtx/
网友评论