搭建Fabric网络(四)运行网络

启动网络

docker-compose -f docker-compose-cli.yaml up -d
如果container cli关闭了,可以手动启动
docker start cli

 设置环境变量

这个环境变量是为组织org1的节点peer0设置的
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

创建和加入channel

上一篇我们已经创建了为channel创建了 config transaction,现在我们进入container cli
docker exec -it cli bash
注意如果得到以下消息,表示执行正确
root@0d78bb69300d:/opt/gopath/src/github.com/hyperledger/fabric/peer#

然后我们创建channle,请确保各个文件在正确的路径中
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
 
 最后加入channel
 peer channel join -b mychannel.block
 我们可以更改环境变量,之后让其他组织,节点加入channel

安装,初始化chaincode

我们在这里只专注GO语音版本的chiancode

peer chaincode install -n mycc -v 1.0 -p github.com/chaincode/chaincode_example02/go/
peer chaincode instantiate -o orderer.example.com:7050 --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 -C $CHANNEL_NAME -n mycc -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Org1MSP.peer','Org2MSP.peer')"

 请注意这里的policy ,更多资料可以参考http://hyperledger-fabric.readthedocs.io/en/latest/endorsement-policies.html

查询

peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'


调用


peer chaincode invoke -o orderer.example.com:7050 --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 -C $CHANNEL_NAME -n mycc -c '{"Args":["invoke","a","b","10"]}'
 
 

 

 

 

 

原文地址:https://www.cnblogs.com/13579net/p/9024635.html