fabric1.4.3单机环境搭建教程(四)

fabric中链码的其他操作

1.链码的打包
通过链码对相关数据(如链码名称,版本,实例化策略)进行封装,可以使用package命令进行打包操作

$ peer chaincode package -n exacc -v 1.0 -p
github.com/chaincode/chaincode_example02/go/ -s -S -i
“AND(‘Org1MSP.admin’)” ccpack.out

2.链码的签名
对一个打包文件进行签名操作,可以使用signpackage命令来实现

$ peer chaincode signpackage ccpack.out signedccpack.out

指定生成的文件signpackage.out包含一个用本地MSP对包进行的附加签名。添加了签名的链码包可以进行如下处理
2.1 安装已经添加签名的链码

$ peer chaincode install signedccpack.out

2.2实例化并指定背书策略

$ 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 exacc -v 1.0 -c ‘{“Args”:[“init”,“a”, “100”, “b”,“200”]}’ -P “OR (‘Org1MSP.peer’,‘Org2MSP.peer’)”

2.3 测试链码
2.3.1查询

$ peer chaincode query -C $CHANNEL_NAME -n exacc -c
‘{“Args”:[“query”,“a”]}’

2.3.2 调用

$ 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 exacc -c ‘{“Args”:[“invoke”,“a”,“b”,“10”]}’

2.3.3再查询

$ peer chaincode query -C $CHANNEL_NAME -n exacc -c
‘{“Args”:[“query”,“a”]}’

3.链码的升级
3.1 安装链码

$ peer chaincode install -n mycc -v 2.0 -p
github.com/chaincode/chaincode_example02/go/

3.2 升级链码

$ 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 $CHANNEL_NAME -n mycc -v 2.0 -c ‘{“Args”:[“init”,“a”, “100”, “b”,“200”]}’ -P “OR (‘Org1MSP.peer’,‘Org2MSP.peer’)”

3.3 测试链码
3.3.1查询

$ peer chaincode query -C $CHANNEL_NAME -n mycc -c
‘{“Args”:[“query”,“a”]}’

3.3.2 调用

$ 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”]}’

3.3.3再查询

$ peer chaincode query -C $CHANNEL_NAME -n mycc -c
‘{“Args”:[“query”,“a”]}’

你可能感兴趣的:(区块链,区块链)