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

Hyperledger Fabric链码审批遇ENDORSEMENT_POLICY_FAILURE错误求助

解决Hyperledger Fabric链码审批时的ENDORSEMENT_POLICY_FAILURE错误

核心原因

该错误是因为链码的背书策略要求的背书节点/组织条件,当前网络无法满足。你的网络仅包含org1的1个peer,需从以下几个维度排查修复:


1. 显式指定匹配当前网络的背书策略

默认链码背书策略为AND ('Org1MSP.peer'),但如果教程中自定义了更严格的策略(如要求多组织/多peer),就会触发失败。审批时可以直接指定适配单peer的策略:

peer lifecycle chaincode approveformyorg -o orderer0.org0.com:7050 --channelID bchannel --name [你的链码名] --version 1.0 --package-id [你的链码包ID] --sequence 1 --signature-policy "AND ('Org1MSP.peer')"

注:[你的链码名]和[你的链码包ID]替换为实际值,链码包ID可通过peer lifecycle chaincode queryinstalled命令获取。

2. 校验Peer的MSP与通道配置一致性

确认org1的MSP已正确加入通道配置:

  1. 获取通道配置块:
peer channel fetch config config_block.pb -o orderer0.org0.com:7050 -c bchannel
  1. 解码配置块为JSON:
configtxlator proto_decode --input config_block.pb --type common.Block | jq .data.data[0].payload.data.config > config.json
  1. 打开config.json,检查channel_group.groups.Application.groups.Org1MSP节点是否存在,且MSPIdentifier值为Org1MSP。

3. 确认链码安装与审批的参数一致性

确保审批命令中的--package-id和peer上已安装的链码包ID完全一致,避免因拼写错误导致背书验证失败。

4. 检查Peer的通道加入状态

确认peer1.org1.com已成功加入bchannel:

peer channel list
peer channel getinfo -c bchannel

若未加入,需重新执行peer channel join命令。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 09:02:02