无法组装交易,错误提议响应不成功,错误代码 500,消息链代码注册失败:容器以 0 退出

我正在尝试实例化链码,但出现错误,而且我找不到解决方案。


ubuntu 18.04

hyperledger fabric 1.4.1

我已经按照文档操作,上周成功了。相同的代码在另一台计算机上运行良好。

在实例化之前,一切都进行得很顺利,包括制作频道。我没有在我的项目中应用节点。


代码:


root@c442cc2748e7:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode instantiate -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n mycc -l golang -v 1.0 -c '{"Args":[]}' -P "AND ('Org1MSP.peer','Org2MSP.peer')"

2019-05-23 06:31:31.382 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc

2019-05-23 06:31:31.382 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc

Error: could not assemble transaction, err proposal response was not successful, error code 500, msg chaincode registration failed: container exited with 0


红糖糍粑
浏览 219回答 5
5回答

万千封印

我通过简单地更改链代码的名称解决了这个问题。root@c442cc2748e7:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer 链码实例化 -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n mycc -l golang -v 1.0 -c '{"Args":[]}' -P "AND ('Org1MSP.peer','Org2MSP.peer')"只需将 -n mycc 更改为 -n 给任何你想要的名字

海绵宝宝撒

我在使用ubuntu 18.04 和hyperledger fabric 1.4.1java chaincode安装设置时遇到了同样的问题。但是我已经按照以下过程解决了它。first-network在build.gradle我的依赖是编译组:'org.hyperledger.fabric-chaincode-java',名称:'fabric-chaincode-shim',版本:'1.x'我改成了编译组:'org.hyperledger.fabric-chaincode-java',名称:'fabric-chaincode-shim',版本:'1.4.1'

九州编程

我遇到了同样的问题。该问题基本上表明对等进程无法从链代码映像注册/创建容器。您可以通过一个简单的docker ps -a. 此外,在实例化时,对等方下载fabric-ccenv包含用于构建链代码所需库的图像。在我的例子中,fabric-ccenv正在下载一个旧图像。正是这种差异导致链代码容器以0状态代码退出。我fabric-ccenv使用用于 peer 的相同标签更新了 docker 镜像并解决了错误。此外,这可能发生在错误设置的情况下CORE_PEER_CHAINCODELISTENADDRESS。它应该设置为0.0.0.0:7052。

沧海一幻觉

解决方案移除dev-*容器并重试。docker&nbsp;images ... dev-peer0.org1.example.com-fabcar-1.0-93f09... ... docker&nbsp;rmi&nbsp;$(docker&nbsp;images&nbsp;dev-*&nbsp;-q)解释lscc为链代码创建一个 docker 镜像。一旦这个图像存在,它将在未来重用它。如果图像不好,您必须删除它,然后再尝试实例化。我相信这就是为什么这么多“重命名”解决方案起作用的原因,它会导致创建一个新图像(使用不同的名称),因为 docker 图像名称的名称和版本。故障排除为了确定链代码启动失败的原因,您可以连接到 cli 容器并尝试手动运行链代码。例如,nodejs 链代码可能如下所示:docker&nbsp;exec&nbsp;-it&nbsp;cli&nbsp;/bin/bash #$&nbsp;cd&nbsp;chaincode #$&nbsp;npm&nbsp;start #&nbsp;<some&nbsp;npm&nbsp;error&nbsp;here>另一种选择是打开对等点的日志记录并重试。可以通过环境变量打开对等日志记录FABRIC_LOGGING_SPEC。我会设置为debugorinfo然后再试一次。日志可以通过检查docker&nbsp;logs&nbsp;peer0.org1.example.com归根结底,该错误意味着lscc链代码无法启动您的链代码。

慕盖茨4494581

哦,我已经修好了!它是由 docker compose .yaml 文件引起的。我更改了目录的名称,但没有更新此文件中的“网络”。与目录名保持一致后,现在没有错误了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go