【问题标题】:Chaincode not found in channel during invoke调用期间在通道中找不到链码
【发布时间】:2017-04-12 12:23:24
【问题描述】:

我正在尝试来自 fabric-sdk-node v1.0.0-alpha e2e 测试的一些代码。我有以下网络配置:

  • 1 CA
  • 1 个订购者
  • 2 个对等点属于通道“mychannel”的一部分

简而言之,我试图完成以下工作

  1. 创建频道
  2. 将peer0、peer1加入频道
  3. 安装、实例化链码
  4. 发送调用和查询事务

在实例化操作之后,我可以在 peer0 和 peer1 启动的链码容器中看到以下日志条目

安装+实例化后两个链码日志的内容

########### example_cc Init ###########
Aval = 100, Bval = 200

但是当我发送调用时,peer在peer1的日志中给出以下错误:

peer1 日志

2017-04-12 10:53:43.966 UTC [sysccapi] deploySysCC -> INFO 035 system chaincode qscc/mychannel(github.com/hyperledger/fabric/core/chaincode/qscc) deployed
2017-04-12 10:53:44.085 UTC [gossip/comm#-1] authenticateRemotePeer -> WARN 036 Remote peer 172.18.0.7:7051 didn't send TLS certificate
2017-04-12 10:53:44.085 UTC [gossip/comm#-1] sendToEndpoint -> WARN 037 Failed obtaining connection for peer0:7051, PKIid:[] reason: Remote peer 172.18.0.7:7051 didn't send TLS certificate
2017-04-12 10:53:55.024 UTC [lccc] Invoke -> ERRO 038 ChaincodeId: end2end does not exist on channel: mychannel(err:chaincode not found end2end)

在调用尝试之后,两个链码容器中的日志条目如下:

peer0 链码容器日志

########### example_cc Init ###########
Aval = 100, Bval = 200
########### example_cc Invoke ###########
Aval = 0, Bval = 300

peer1 链码容器日志

########### example_cc Init ###########
Aval = 100, Bval = 200

chaincode not found 错误的原因可能是什么?为什么即使 init 在两个对等点上似乎都成功,它也会发生?

【问题讨论】:

    标签: blockchain hyperledger hyperledger-fabric


    【解决方案1】:

    错误的可能原因是peer1无法与orderer节点通信。即使您能够安装然后实例化,实例化就像任何事务一样(除了它是针对 lccc - 生命周期系统链代码调用的)。因此,虽然链代码作为背书实例化提案的一部分被初始化,但实例化事务并未提交,因此您无法调用它(提交基本上意味着将其添加到 lccc 的状态)。

    此错误的可能原因是 peer 无法与 orderer 通信。您也许可以检查 peer1 的日志并查找诸如交付或交付服务之类的内容以进行验证

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-28
      • 2020-12-24
      • 2023-01-30
      • 2019-09-12
      • 1970-01-01
      • 1970-01-01
      • 2019-12-13
      • 2021-02-22
      相关资源
      最近更新 更多