【问题标题】:Hyperledger Fabric chaincode instantiation errorHyperledger Fabric 链码实例化错误
【发布时间】:2018-09-01 11:29:00
【问题描述】:

我正在使用为 composer 提供的结构工具来部署结构网络,因为它部署了 1 个对等方、1 个排序者、1 个 couchdb 和 1 个结构网络。我能够在对等体上安装链代码,但实例化失败并出现以下错误。我在fabric-peer上使用命令。

peer chaincode instantiate -o orderer.example.com:7050 -C composerchannel -n test -l node -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}'

错误:无法组装交易,错误建议响应没有 成功,错误码500,msg执行事务失败 83b806a14ec33d47e11950581357cc0ab05ef51dfb53d35c6b9f00eca7a49051: 启动链码测试时超时已过期:1.0 用于交易 83b806a14ec33d47e11950581357cc0ab05ef51dfb53d35c6b9f00eca7a49051

如果我检查订购者的日志,我会得到:

2018-09-01 11:09:16.205 UTC [orderer/common/broadcast] 句柄 -> WARN 973 从 172.19.0.14:33674 读取错误:rpc 错误:代码 = 已取消 desc = 上下文取消

【问题讨论】:

    标签: hyperledger-fabric


    【解决方案1】:

    在我的情况下(Windows 10)我停止了网络,删除了所有容器然后重新启动,工作正常:

    $ docker stop $(docker ps -a -q)
    $ docker ps -qa|xargs docker rm
    $ ./startFabric.sh
    

    【讨论】:

      【解决方案2】:

      检查托管 peer0 的节点 (VM) 上的日志:

      docker ps -a
      

      您将找到带有退出代码的链码容器 ID。

      CONTAINER ID: **718e367bf1db**
      IMAGE: dev-peer1-org1-**mycc-0.2**-9c1906
      COMMAND: "/bin/sh -c 'cd /usr…"
      

      mycc-0.2 是您的链码名称和版本。
      找到容器 ID 后,您可以使用以下命令检查错误日志:

      docker logs <container_id>
      

      我假设您的链代码中存在错误并且应用程序无法启动。

      【讨论】:

      • 谢谢我发现,我的链码文件夹中缺少 package.json 文件,这就是容器没有被部署的原因