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

Hyperledger Fabric执行peer chaincode invoke时背书失败求助

解决Hyperledger Fabric链码调用报错:Undefined contract called

问题根源

从你提供的查询结果来看,mychannel通道上并未完成链码的提交(Fabric 2.x及以后版本)/实例化(Fabric 1.x版本)操作——这是导致调用时报Undefined contract called错误的核心原因。链码仅完成节点安装是不够的,必须在目标通道上完成提交/实例化,才能被合法调用。

具体解决步骤(针对Fabric 2.x版本,你当前使用的是生命周期命令)

你已经完成了链码安装,接下来需要走链码定义的批准与提交流程:

  1. 批准链码定义(针对当前组织)
    使用查询到的Package ID执行批准命令,替换命令中的orderer地址、CA文件路径等参数以匹配你的网络配置:

    peer lifecycle chaincode approveformyorg -o orderer.example.com:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name basic --version 1.0 --package-id basic_1.0:768b98e4408cc16f3ed5dcec186c25069801ec09441cba3b79bb316a0809632a --sequence 1 --tls true --cafile $ORDERER_CA
    
  2. 检查链码定义的批准状态
    确认是否满足通道背书策略要求的批准数量:

    peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name basic --version 1.0 --sequence 1 --tls true --cafile $ORDERER_CA --output json
    

    输出中会显示各组织的批准状态,需确保达到策略要求(如多数组织已批准)。

  3. 在通道上提交链码定义
    满足批准条件后,执行提交命令(需包含所有参与的节点地址及对应CA文件):

    peer lifecycle chaincode commit -o orderer.example.com:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name basic --version 1.0 --sequence 1 --tls true --cafile $ORDERER_CA --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles $PEER0_ORG1_CA --peerAddresses peer0.org2.example.com:7051 --tlsRootCertFiles $PEER0_ORG2_CA
    
  4. 验证链码提交状态
    执行以下命令确认链码已在通道上生效:

    peer lifecycle chaincode querycommitted --channelID mychannel --name basic --cafile $ORDERER_CA
    

    或你之前使用的命令:

    peer chaincode list --instantiated -C mychannel
    

    此时应能返回该链码的实例化/提交信息。

  5. 重新执行链码调用
    完成以上步骤后,再次运行peer chaincode invoke命令,即可解决Undefined contract called错误。

额外注意事项

  • 确保所有预先EXPORT的环境变量(如CORE_PEER_LOCALMSPID、CORE_PEER_TLS_ROOTCERT_FILE、CORE_PEER_ADDRESS)正确对应当前操作的节点与组织。
  • 链码名称、版本号、sequence参数需在所有步骤中保持一致,不能出现偏差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:12:11