您的位置 首页 编程知识

Fabric链码安装成功却实例化失败,如何排查?

Hyperledger Fabric链码实例化失败:安装成功,但实例化报错 在Hyperledger Fabr…

Fabric链码安装成功却实例化失败,如何排查?

Hyperledger Fabric链码实例化失败:安装成功,但实例化报错

在Hyperledger Fabric开发中,链码安装和实例化是两个关键步骤。本文分析一个链码安装成功但实例化失败的案例,错误提示为“chncode registration failed: container exited with 0”。

问题根源: 问题并非链码逻辑错误。示例链码的Init方法故意返回错误shim.error(“hello”)。安装阶段仅部署链码,不会执行Init方法,因此安装成功。但实例化阶段会执行Init方法,错误返回导致实例化失败。用户日志显示链码安装成功,实例化失败并返回码。

错误解决方案: 用户提供的解决方案——修改/lib/systemd/system/.service文件并添加–dns参数——是调整Docker DNS配置,解决Docker容器网络访问问题,与链码Init方法返回错误无关。此操作针对Kubernetes集群环境下的Docker网络配置,并非链码本身问题。

正确解决方案: 链码实例化失败的根本原因是Init函数返回了错误shim.error(“hello”)。 是修改Init函数,使其返回成功响应:

func (t *SimpleChaincode) Init(stub shim.ChaincodeStubInterface) pb.Response {     return shim.Success(nil) // 或返回其他成功信息 }
登录后复制

修改后,重新打包、安装和实例化链码即可解决问题。 用户修改Docker DNS的方案可能解决了其环境中的其他,但这与链码实例化失败是两个独立事件。

以上就是Fabric链码安装成功却实例化失败,如何排查?的详细内容,更多请关注php中文网其它相关文章!

本文来自网络,不代表四平甲倪网络网站制作专家立场,转载请注明出处:http://www.elephantgpt.cn/7714.html

作者: nijia

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

18844404989

在线咨询: QQ交谈

邮箱: 641522856@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部