相关环境变量
根据要操作的目标peer和org调整环境变量的值
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
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
When running a command that connects to orderer service, like peer channel
获取channel最新block
peer channel fetch newest -c mychannel --orderer orderer.example.com:7050
安装chain code
peer chaincode install -n mycc -v 2.0 -p github.com/chaincode/chaincode_example02/go/
-n 是chain code的name
-v 是chain code的版本号
每个要执行合约的节点都需要安装智能合约
初始化chain code
peer chaincode instantiate -n sacc -v 1.0 -c '{"Args":["john","0"]}' -P "OR ('Org1.member','Org2.member')"
-n 是chaincode的name
-C 是channel的名字
-v 是版本号
-c 是参数
-P 是背书策略
初始化只需要执行一次,即在任意一个已安装合约的节点上初始化即可
查询chain code
peer chaincode query -n mysacc -c '{"Args":["query","a"]}' -C myc
调用chain code
peer chaincode invoke -o orderer.example.com:7050 --tls --cafile $ORDERER_CA -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}'
执行合约并且将peer节点返回的读写集发送到排序节点