ENDORSEMENT_POLICY_FAILURE 当使用 node.js SDK 调用链代码时

ENDORSEMENT_POLICY_FAILURE when chaincode is invoked using node.js SDK

遵循的步骤:

1。启动了一个 Hyperledger Fabric 网络,其中有 1 个组织、1 个对等点、1 沙发数据库和 1 个 CA

2。已创建频道

docker exec command -e"CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp" peer0.org1.example.com peer channel create -o orderer.example.com:7050 -c mychannel -f /etc/hyperledger/configtx/channel.tx 

3。使用 docker exec 命令

加入频道
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp" peer0.org1.example.com peer channel join -b mychannel.block

4。已安装的链代码

docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n fabcar -v 1.0 -c '{"Args":[""]}' -P "AND ('Org1MSP.member','Org2MSP.member')"

5.启动客户端

6.使用node SDK注册用户

7. 运行 invoke.js [从 fabcar 示例] 到 initledger 有 10 辆汽车

8.调用查询抛出 ENDORSEMENT_POLICY_FAILURE error.Please 请注意背书策略设置为 "AND" Image

您的背书政策要求来自 Org1 的对等点和来自 Org2 的对等点来背书交易。鉴于您只是 运行 来自 Org1 的单个对等方,因此无法满足此背书策略。

尝试将认可政策设置为

-P "AND ('Org1MSP.member')"

或将 Org2 中的节点添加到通道并安装链代码。