首页 > 解决方案 > 关于在 Hyperledger Fabric v1.3 中实例化 Java 链码的问题 - 无法调用链码名称:“lscc”

问题描述

在 Hyperledger Fabric v1.3 中实例化链码时遇到问题。

在 Hyperledger Fabric 官网的教程“构建你的第一个网络”中,java 链码被成功实例化,没有任何问题。

但是,当我创建自己制作的链码时,会发生以下 lscc 错误:

异常堆栈跟踪的屏幕截图

错误信息截图

标签: hyperledger-fabricinstantiation

解决方案


多次重现相同的问题 v1.3 Java SDK + Java Chaincode 实例化:),GO 链码工作正常。可能是 Java 链码兼容性实例化的错误。

2018-11-08 18:48:25,798 main ERROR Channel:4103 - Sending proposal to peer1.domain.com failed because of timeout(120000 milliseconds) expiration
java.util.concurrent.TimeoutException
at org.hyperledger.fabric.sdk.Channel.sendProposalToPeers(Channel.java:4086)
at org.hyperledger.fabric.sdk.Channel.sendInstantiationProposal(Channel.java:2501)
at org.hyperledger.fabric.sdkintegration.End2endIT_custom_java.runChannel(End2endIT_custom_java.java:473)


2018-11-08 21:24:19.099 UTC [core/comm] ServerHandshake -> ERRO 0a6 TLS handshake failed with error EOF {"server": "PeerServer", "remote address": "172.20.0.9:33462"}
2018-11-08 21:24:19.804 UTC [endorser] SimulateProposal -> ERRO 0a7 [channel][7c4fa0e2] failed to invoke chaincode name:"lscc" , error: timeout expired while starting chaincode SimpleChaincode:1 for transaction

虽然 go 链代码工作得很好,但代码安装没有其他区别工作正常,实例化 Java 链代码总是超时 2018-11-08 20:48:27.686 UTC [lscc] executeInstall -> INFO 031 Installed Chaincode [SimpleChaincode] 版本 [1 ] 对等

只能使用具有相同日志的 java 链代码实例化一次又一次地重现,去链代码实例化工作正常: https ://hastebin.com/osafazisaj.rb

当我从 Kafka 切换到 SOLO 订购者时,我得到了一个更好且不同的异常,因为有时 Kafka 订购者会冻结导致 docker 网络饱和?切换到 SOLO 会抛出错误:未能调用链代码名称:“lscc”,错误:执行事务时超时已过期

https://hastebin.com/konoqewofe.md


推荐阅读