fabric多机安装链码

fabric多机安装链码

一、如何安装链码
1.安装链码
-打包链码,由于这次的例子是基于 go 语言开发的智能合约,会依赖 go 的开发环境进行安装,如果使用 peer chaincode install 命令指定链码路径安装,可能会造成其他虚拟上安装的同样的链码无法同步实例化(go 开发环境不一致引起的问题),所以这里使用 go chaincode package 打包链码,然后通过安装打包链码文件进行链码的安装。

注意:这里进行测试的链码是 fabric 源码中的样例-p 指定的路径在命令执行的时候会自动根据 GOPATH 环境变量自动补全前缀,所以路径一个在 $GOPATH/src/目录下:

peer chaincode package -n test -p github.com/hyperledger/fabric/examples/chaincode/go/test -v 1.0 test.pak

使用 scp 命令分发 test.pak 文件至其他3台 peer 节点虚拟机的 fabric 网络执行环境变量路径下。例如:
scp -r test.pak root@172.17.0.233:/etc/hyperledger/fabric/

-  安装链码
peer chaincode install test.pak

-安装链码的 peer 节点服务器可以通过终端命令查看已安装的链码信息,如图:
peer chaincode -C testchannel list --installed

2.初始化链码
初始化链码,只需要在一台 peer 节点的服务器上执行实例化后自动创建链码容器,其他 peer 节点服务器会同步该实例化的链码信息,并创建链码容器(需要启动docker容器:service docker start)
peer chaincode instantiate -o orderer0.example.com:7050 -C testchannel -n test -v 1.0 -c’{“Args”:[]}’ -P “OR (‘Org1MSP.member’,‘Org2MSP.member’,‘Org3MSP.member’)” --tls true --cafile /etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
命令执行后对交易用户 a赋值100,交易用户 b 赋值200代币。

使用命令查看链码容器信息:docker ps。如图:

使用命令:
peer chaincode query -n test -C testchannel -c’{“Args”:[“query”,“a”]}’
查看用户a(b)初始值:

1.测试交易
执行命令发送一笔交易,命令 b 向 a 转账 40个代币:
peer chaincode invoke -o orderer.example.com:7050 -C testchannel -n test -c’{“Args”:[“invoke”,“b”,“a”,“40”]}’ --tls ture --cafile /etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

再次查询a、b余额命令与五.2查询命令相同:

查询转账命令可以在任意peer节点执行,上面查询在.1.40节点(日志级别debug),下面查询在.0.233节点(日志级别info):

二、安装实例
编辑tp.go
509 vim tp.go
510 go build
打包并安装链码
511 peer chaincode package -n tp -p github.com/hyperledger/fabric/examples/chaincode/go/tp -v 1.0 tp.pak
512 peer chaincode install tp.pak
513 peer chaincode -C biconchannel list --installed

实例化链码
516 peer chaincode instantiate -o orderer0.example.com:7050 -C biconchannel -n tp -v 1.0 -c’{“Args”:[]}’ -P “OR (‘Org1MSP.member’,‘Org2MSP.member’,‘Org3MSP.member’)” --tls true --cafile /etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

初始化账本
517 peer chaincode invoke -o orderer0.example.com:7050 --tls true --cafile /etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C testchannel -n tp -c ‘{“Args”:[“initLedger”]}’

查询候选人票数
518 peer chaincode invoke -o orderer0.example.com:7050 --tls true --cafile /etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C testchannel -n tp -c ‘{“Args”:[“queryTicket”,“CANDIATE0”]}’

查询一定范围候选人票数
519 peer chaincode invoke -o orderer0.example.com:7050 --tls true --cafile /etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C testchannel -n person -c ‘{“Args”:[“queryAll”,“CANDIATE0”,“CANDIATE3”]}’

删除候选人
520 peer chaincode invoke -o orderer0.example.com:7050 --tls true --cafile /etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C testchannel -n person -c ‘{“Args”:[“delete”,“CANDIATE0”]}’

增加候选人
521 peer chaincode invoke -o orderer0.example.com:7050 --tls true --cafile /etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C testchannel -n person -c ‘{“Args”:[“addPeople”,“CANDIATE0”,“ln”,“name”,“number”]}’

升级chaincode
1067 peer chaincode package -n tp2 -p github.com/hyperledger/fabric/examples/chaincode/go/tp2 -v 2.0 tp2.pak
1068 peer chaincode install -v 2.0 tp2.pak
1069 peer chaincode upgrade -o orderer0.example.com:7050 -C biconchannel -n tp2 -v 2.0 -c’{“Args”:[]}’ -P “OR (‘Org1MSP.member’,‘Org2MSP.member’,‘Org3MSP.member’)” --tls true --cafile /etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值