Heyperledger Fabric 合约的操作

踩坑总结:
很多猿友们都是从网上copy的命令或者是chaincode文件 ,这样就无形中入坑了 如果没注意到,只会黏贴复制 ,你是怎么都弄不出来的。
安装,实例化话合约时 一点要看清楚自己服务器中的chaincode文件路径,chaincode文件名称是否与命令参数中一致,不一致的话你往死里搞都是报错。
触发合约的时候也是同理 ,看自己的背书节点的证书是否正确,使用的方法名称是否和自己chaincode文件中的名称一致 。

合约安装

peer chaincode install -n basicinfo -v 1.0 -p github.com/chaincode/basicInfo/
peer chaincode install -n record -v 1.0 -p github.com/chaincode/lxj1/    
注: 
 -n chaincode文件名称,是你在创建chaincode时自己定义的名称
 -p 创建好chaincode后,会自动帮你映射到你的docker容器内 (这个路径是你的docker-compose-cli.yaml配置文件中 ,字段volumes: 定义的路径)

peer chaincode list --installed 查看合约是否安装成功

合约实例化

peer chaincode instantiate -o orderer.example.com:7050 --tls --cafile /opct/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n basicinfo -v 1.0 -c '{"Args":["init"]}' -P "OR ('Org1MSP.peer')"

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 mychannel -n record -v 1.0 -c '{"Args":["init"]}' -P "OR ('Org1MSP.peer')"

peer chaincode list --instantiated -C mychannel 查看是否实例化成功 

--cafile 这里的证书是orderer的证书。开启tls检验。 -P 背书策略。    -C 你的通道名称。  -n 就合约的名称。

合约触发

peer chaincode invoke -o orderer.example.com:7050 --tls true --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 mychannel -n basicInfo --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt -c '{"Args":["save","110115","{\"name\":\"zhangsan\",\"identity\":\"110114\",\"mobile\":\"18910012222\"}"]}'

peer chaincode invoke -o orderer.example.com:7050 --tls true --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 mychannel -n record --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt -c '{"Args":["save","110115","{\"ndfdae\":\"zgsan\",\"identity\":\"110114\",\"mobile\":\"18910012222\"}"]}'

传入 orderer节点的证书  -- peerAddresses 指定需要背书的节点 
这里的 “save” 是你chaincode编写时的方法名称 要更具个人编写中的实际情况来。
 

合约查询

peer chaincode query -C mychannel -n basicInfo -c '{"Args":["query","110115"]}'

peer chaincode query -C mychannel -n record -c '{"Args":["query","110115"]}'

合约升级

peer chaincode upgrade -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 mychannel -n basicinfo -v 2.0 -c '{"Args":["init"]}' -P "OR ('Org1MSP.peer')"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值