Hyperledger fabric 分布式设置中的链码实例化问题

Hyperledger fabric 分布式设置中的链码实例化问题,hyperledger-fabric,hyperledger-fabric-ca,Hyperledger Fabric,Hyperledger Fabric Ca,我正在开发Fabric 1.2版。在同一个组织中运行一个订购者和一个对等者的网络,ORG1MSP。我关注博客,但我正在尝试在不同的虚拟机上运行orderer和peer Orderer IP: 192.168.1.5 Peer0 IP: 192.168.1.22 order和CA容器在第一个VM上启动,peer0、couchdb、cli在第二个VM上启动。Peer0能够创建通道、获取通道配置和加入通道 现在,我正在尝试部署fabric/examples/chaincode/go/example2

我正在开发Fabric 1.2版。在同一个组织中运行一个订购者和一个对等者的网络,ORG1MSP。我关注博客,但我正在尝试在不同的虚拟机上运行orderer和peer

Orderer IP: 192.168.1.5
Peer0 IP: 192.168.1.22
order和CA容器在第一个VM上启动,peer0、couchdb、cli在第二个VM上启动。Peer0能够创建通道、获取通道配置和加入通道

现在,我正在尝试部署fabric/examples/chaincode/go/example2path中提供的链码。我将卷装入所有容器中,如下所示:

- /root/gopath/src/github.com/hyperledger/fabric/examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
root@fa36d48915d7:/opt/gopath/src/github.com/hyperledger/fabric# CORE_PEER_ADDRESS=peer0.org1.example.com:7051 peer chaincode instantiate -o 192.168.1.5:7050 -C mychannel -n example02 -v v0 -c '{"Args":["init","a","100","b","200"]}' -P "OR ('Org1MSP.member','Org2MSP.member')"
2018-11-13 11:21:46.383 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2018-11-13 11:21:46.383 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
Error: could not assemble transaction, err Proposal response was not successful, error code 500, msg failed to execute transaction 81b57fb4635092074d3585cec328e4c54f8f1d45028664795a56cfbc7f5a4c80: error starting container: error starting container: API error (400): OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"chaincode\": executable file not found in $PATH": unknown
我从CLI容器运行命令。安装命令:
CORE\u PEER\u ADDRESS=peer0.org1.example.com:7051对等链码安装-n example02-p github.com/hyperledger/fabric/examples/chaincode/go/example02-v v0

它显示以下日志:

2018-11-13 11:13:34.112 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2018-11-13 11:13:34.112 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
2018-11-13 11:13:34.336 UTC [chaincodeCmd] install -> INFO 003 Installed remotely response:<status:200 payload:"OK" >

请提供适当的解决方案。

我也有类似的问题。我发现如果包的名称不是main,那么就产生了这个错误

检查example02.go文件,第一行是包名。 如果包名是其他名称,请将其替换为main,然后重试安装

使用-v v1安装并启动

CORE\u PEER\u ADDRESS=peer0.org1.example.com:7051 PEER chaincode安装-n example02-p github.com/hyperledger/fabric/examples/chaincode/go/example02-v v1


CORE\u PEER\u ADDRESS=peer0.org1.example.com:7051 PEER chaincode instantiate-o 192.168.1.5:7050-C mychannel-n example02-v v1-C'{“Args”:[“init”、“a”、“100”、“b”、“200”}'-p”或('Org1MSP.member','Org2MSP.member')”
最近面临这个问题,花了很多时间在谷歌上。 我通过将
CC\u SRC\u PATH
PATH变量设置为在docker容器中安装chaincode的目录,然后在安装和实例化chaincode时引用它来修复它。供参考的链接:

  • 根据多个论坛上关于人们是如何修复此问题的讨论,似乎这可能是由于各种原因造成的。以下是链接列表,可供快速参考:

  • 错误

    包名称应为main

    package main
    

    您在对等容器或中的何处运行此命令CLI@jaswanthCLI containerYou是对的,在其他场景中它确实对我有效。但是当订购方和对等方在不同的虚拟机上时,它继续给我相同的错误。在我的情况下,订购方和对等方也在不同的虚拟机上,通过上述解决方案解决了问题。也许这是你的另一个问题。
    package main