{{ v.name }}
{{ v.cls }}类
{{ v.price }} ¥{{ v.price }}
多机部署后内网ip分别为10.18.22.221,10.18.22.222,10.18.22.223,10.18.22.224,10.18.22.225.
其中10.18.22.221为orderer节点,其余4个为peer节点。
域名分别为orderer.com,peer0.org1.com,peer1.org1.com,peer0.org2.com,peer1.org2.com.
其中默认在peer0.org1.com,peer0.org2.com,peer1.org2.com上安装了chaincode,在peer1.org1上未安装chaincode。
成功启动集群后,
一、在10.18.22.223(peer1.org1.example.com)上安装智能合约chaincode过程如下:
1、通过下面命令进入10.18.22.223(peer1.org1.example.com)的容器
dockerexec-itclibash
进入容器后,默认路径如下:
root@6e75c97a960a:/opt/gopath/src/github.com/hyperledger/fabric/peer#
2、执行智能合约chaincode安装命令
peerchaincodeinstall-nmycc-v1.0-pgithub.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
命令执行后,日志过程如下:
2018-03-2602:44:25.468utc[msp]getlocalmsp->debu001returningexistinglocalmsp2018-03-2602:44:25.469utc[msp]getdefaultsigningidentity->debu002obtainingdefaultsigningidentity2018-03-2602:44:25.469utc[chaincodecmd]checkchaincodecmdparams->info003usingdefaultescc2018-03-2602:44:25.469utc[chaincodecmd]checkchaincodecmdparams->info004usingdefaultvscc2018-03-2602:44:28.521utc[golang-platform]getcodefromfs->debu005getcodefromfsgithub.com/hyperledger/fabric/examples/chaincode/go/chaincode_example022018-03-2602:44:30.351utc[golang-platform]func1->debu006discardinggorootpackagefmt2018-03-2602:44:30.352utc[golang-platform]func1->debu007discardingprovidedpackagegithub.com/hyperledger/fabric/core/chaincode/shim2018-03-2602:44:30.352utc[golang-platform]func1->debu008discardingprovidedpackagegithub.com/hyperledger/fabric/protos/peer2018-03-2602:44:30.352utc[golang-platform]func1->debu009discardinggorootpackagestrconv2018-03-2602:44:30.352utc[golang-platform]getdeploymentpayload->debu00adone2018-03-2602:44:30.356utc[msp/identity]sign->debu00bsign:plaintext:0a8a070a5c08031a0c088ebde1d50510...5f74fd270000ffffcef44f9b002c00002018-03-2602:44:30.356utc[msp/identity]sign->debu00csign:digest:9d17182bf883747b383970befd9c4debb0bb07adcadd5f0c3c4df5d9d57f12a02018-03-2602:44:30.379utc[chaincodecmd]install->debu00dinstalledremotelyresponse:
说明该chaincode已经安装成功。这个命令将chaincode的源码安装到该peer节点的文件系统中。
3、调用命令查询chaincode
peerchaincodequery-c$channel_name-nmycc-c'{"args":["query","a"]}'
调用该命令后,将会启动智能合约容器。等待一段时间,将得到查询结果。
root@6e75c97a960a:/opt/gopath/src/github.com/hyperledger/fabric/peer#peerchaincodequery-cmychannel-nmycc-c'{"args":["query","a"]}'2018-03-2602:58:50.594utc[msp]getlocalmsp->debu001returningexistinglocalmsp2018-03-2602:58:50.594utc[msp]getdefaultsigningidentity->debu002obtainingdefaultsigningidentity2018-03-2602:58:50.594utc[chaincodecmd]checkchaincodecmdparams->info003usingdefaultescc2018-03-2602:58:50.595utc[chaincodecmd]checkchaincodecmdparams->info004usingdefaultvscc2018-03-2602:58:50.595utc[msp/identity]sign->debu005sign:plaintext:0a95070a6708031a0c08eac3e1d50510...6d7963631a0a0a0571756572790a01612018-03-2602:58:50.595utc[msp/identity]sign->debu006sign:digest:b4b927d16a7b0b16747b264e0336f79769f5f841f67b1c70c2b75431acd1e168queryresult:902018-03-2602:58:50.618utc[main]main->info007exiting.....
4、新建一个命令窗口,通过docker-ps查询,已经能够查到,新安装的链码容器。
[root@localhost~]#dockerpscontaineridimagecommandcreatedstatusportsnamesd20a155e430edev-peer1.org1.example.com-mycc-1.0"chaincode-peer.add…"18secondsagoup16secondsdev-peer1.org1.example.com-mycc-1.06e75c97a960ahyperledger/fabric-tools"/bin/bash"28minutesagoup28minutescli0d70e326c8c5hyperledger/fabric-peer"peernodestart"28minutesagoup28minutes0.0.0.0:7051-7053->7051-7053/tcppeer1.org1.example.com