安装
peer chaincode install -n ecctest -v 1.0 -l golang -p github.com/chaincode/ecctest
实例化
peer chaincode instantiate -o orderer0.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n ecctest -l golang -v 1.0 -c '{"Args":["init"]}' -P 'OR ('\''Org1MSP.peer'\'','\''Org2MSP.peer'\'')'
更新
peer chaincode upgrade -o orderer0.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n ecctest -l golang -v 1.0 -c '{"Args":["init"]}' -P 'OR ('\''Org1MSP.peer'\'','\''Org2MSP.peer'\'')'
invoke操作
peer chaincode invoke -o orderer0.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n ecctest --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":["traceTrans","prod_1","张三624","80A","hgfedcba87654321"]}'
query 隐私数据操作
peer chaincode query -C mychannel -n ecctest -c '{"Args":["getPridata","prod_1","LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUhqWkhmb2Znak5EWEFXV3dCNWVKemo5Q3owZ0V5dk5XVDUzZWRSUzJIMXZvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFQUpuVzFiUTQ0ZG4xekY3Z084dGZtUkkvOVhiQ3JpejE4dGxXN1dOUXZ5S0IwNStBcTRhcApLbjRGVkhINlliWm56Y3ZCYnBHbEdxTnFINnJkYm1WVEx3PT0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo="]}'
query 公开数据操作
peer chaincode query -C mychannel -n ecctest -c '{"Args":["getPubdata","prod_1"]}'
查看节点链码、节点通道信息
进入节点(peer0.org1.example.com)
docker exec -it peer0.org1.example.com bash
进入链码配置文件文件夹查看链码文件
cd /var/hyperledger/production/chaincodes/
进入通道配置文件文件夹查看通道配置文件
cd /var/hyperledger/production/ledgersData/chains/chains/
此时只在peer0.org1上安装链码,peer1.org1上没有安装链码
链码镜像与节点地址、链码名称、版本号有关
此时,除peer0.org1的节点地址和密钥证书可访问账本数据外,其余节点无法操作账本,例如peer1.org1操作帐本时(查询账本数据)会报以下错误:
找不到链码配置文件(/var/hyperledger/production/chaincodes)
在其余节点配置环境下采用peer0.org1的节点地址以及密钥证书仍可以操作账本数据
此时 peer0.org2、peer0.org3安装链码 (testcc-1.0)
peer0.org2
peer0.org3
安装链码后就可以操作数据账本(执行查询操作 首次执行会有延迟)