我正在尝试使用fabric-sdk-node v1.0.0-alpha e2e测试中的一些代码。我有以下网络配置:
总之,我试图完成以下
在实例化操作之后,我可以在peer0和peer1的两个链代码容器中看到以下日志条目
########### example_cc Init ###########
Aval = 100, Bval = 200
但是当我发送调用时,对等体在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)
以下调用尝试之后是两个链代码容器中的日志条目:
########### example_cc Init ###########
Aval = 100, Bval = 200
########### example_cc Invoke ###########
Aval = 0, Bval = 300
########### example_cc Init ###########
Aval = 100, Bval = 200
chaincode not found
错误可能是什么原因造成的?为什么即使init似乎在同行中都成功了呢?
答案 0 :(得分:1)
错误的可能原因是peer1无法与orderer节点通信。即使您能够安装然后实例化,实例化也就像任何事务一样(除了它是针对lccc - 生命周期系统链代码调用的)。因此,虽然链代码是初始化实例化提议的一部分,但实例化事务未提交,因此您无法调用它(提交基本上意味着将其添加到lccc状态)。
此错误的可能原因是对等方无法与订货人通信。您可以检查peer1的日志,并查找诸如交付或提供服务以验证
之类的内容