You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hyperledger Fabric链码调用时背书失败问题求助

Hyperledger Fabric链码调用报错:chaincode registration failed: container exited with 0

问题描述

在Hyperledger Fabric test-network中进行POC开发,已完成自定义Node.js链码在peer0.org1.example.com和peer0.org2.example.com节点的打包、安装、审批与提交流程,但调用链码时触发如下错误:

Error: endorsement failure during invoke. response: status:500 message:
"error in simulation: failed to execute transaction eeb54c350c04b037d457f10d085346d59111d1e49ef851860411191e0fe4c891: 
could not launch chaincode investments_1.0:3e64bf44ed94e792e48148741847895cb85ff0e05307b7fdfa17302ebe46
1b93: chaincode registration failed: container exited with 0" 

排查与解决步骤

1. 查看链码容器日志

容器退出码为0表示进程正常终止,但链码未完成注册。通过以下命令定位问题细节:

# 列出所有容器,找到名称格式为dev-investments_1.0-xxxxxx的链码容器
docker ps -a
# 查看目标容器的启动日志
docker logs <chaincode-container-name>

日志通常会暴露Node.js链码的启动问题,比如依赖缺失、入口文件错误等。

2. 校验链码package.json配置

  • 确认main字段指向正确的链码入口文件(如index.js),且该文件存在于链码目录中。
  • 检查scripts字段是否包含正确的start命令:
    "scripts": {
      "start": "node index.js"
    }
    
  • 进入链码目录执行npm install,确保所有依赖已正确安装后重新打包链码。

3. 检查链码入口文件的注册逻辑

Node.js链码必须正确调用fabric-shim的启动方法,确保入口代码结构类似:

const shim = require('fabric-shim');
const MyChaincode = require('./your-chaincode-logic');

async function main() {
    try {
        await shim.start(new MyChaincode());
    } catch (error) {
        console.error('Chaincode startup failed:', error);
        process.exit(1);
    }
}

main();

若缺少错误捕获逻辑或start调用异常,可能导致容器正常退出但未完成链码注册。

4. 匹配Fabric版本与链码依赖版本

确保fabric-shim的版本与test-network使用的Fabric版本完全一致。比如test-network使用Fabric 2.4.x,则链码的fabric-shim版本需指定为^2.4.0,避免版本不兼容导致启动失败。

5. 清理旧链码容器与镜像

残留的旧链码资源可能引发冲突,执行以下命令清理后重新提交链码:

# 删除所有链码容器
docker rm -f $(docker ps -aq --filter "name=dev-")
# 删除链码镜像
docker rmi -f $(docker images -aq --filter "reference=dev-*")

6. 查看peer节点日志获取上下文

通过peer节点日志获取更多链码启动的关联信息:

# 查看org1的peer0日志
docker logs peer0.org1.example.com
# 查看org2的peer0日志
docker logs peer0.org2.example.com

内容的提问来源于stack exchange,提问作者dmsophia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 21:13:15