我正在学习运行超级账本网络及其组件的基础知识,所以这里是一个学习者。我使用docker swarm跟着this tutorial to run multi host hyperledger fabric network,一切正常,我能够安装-实例化-查询并调用给定的链码。
但是,我很好奇尝试运行相同链码的节点版本。因此,当我尝试安装和实例化该节点的节点版本时(由于本教程运行的是链代码的go版本-chaincode_example02),我在 CLI bash
中遇到以下错误错误:无法组装事务,错误的提案响应未成功,错误代码500,味精链码注册失败:容器退出并显示127
类似地,订购者容器显示以下错误
无法调用链码名称:“ lscc”,错误:容器退出并显示127 github.com/hyperledger/fabric/core/chaincode.(*RuntimeLauncher).Launch.func1 /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/runtime_launcher.go:63 runtime.goexit /opt/go/src/runtime/asm_amd64.s:1333 链码注册失败
我在the folder structure used by the tutorial的chaincode / chaincode_example02文件夹内创建了一个“ go”文件夹和一个“ node”文件夹(以“ fabric-samples”构造其链码的相同方式。
通过提供新节点链代码的路径,我能够手动安装节点链代码(以及通过教程中的script / scripts.sh脚本)。但是我一整天都在实例化相同的东西。
我需要在(以下)命令中进行任何更改以生成CLI容器吗?我是说,关于容器的链码路径的映射等等?
docker run --rm -it --network="my-net" --name cli --link orderer.example.com:orderer.example.com --link peer0.org1.example.com:peer0.org1.example.com --link peer1.org1.example.com:peer1.org1.example.com -p 12051:7051 -p 12053:7053 -e GOPATH=/opt/gopath -e CORE_PEER_LOCALMSPID=Org1MSP -e CORE_PEER_TLS_ENABLED=false -e CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock -e CORE_LOGGING_LEVEL=DEBUG -e CORE_PEER_ID=cli -e CORE_PEER_ADDRESS=peer0.org1.example.com:7051 -e CORE_PEER_NETWORKID=cli -e CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp -e CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=my-net -v /var/run/:/host/var/run/ -v $(pwd)/chaincode/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go -v $(pwd)/crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ -v $(pwd)/scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/ -v $(pwd)/channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts -w /opt/gopath/src/github.com/hyperledger/fabric/peer hyperledger/fabric-tools /bin/bash -c './scripts/script.sh'
欢迎任何帮助。抱歉,如果我没有很好地描述我的描述,或者我错过了提供任何细节的机会。
谢谢。