实例化fabcar并返回Failed获取渠道的策略管理器

时间:2017-10-18 11:00:59

标签: hyperledger-fabric

我已经开始使用chaincode-docker-devmode了。 并改变了sacc到fabcar 将fabcar.go编译成fabcar成功。

docker exec -it chaincode bash
CORE_PEER_ADDRESS=peer:7051 CORE_CHAINCODE_ID_NAME=fabcar:0 ./fabcar

docker exec -it cli bash
peer chaincode install -p chaincodedev/chaincode/fabcar -n fabcar -v 0

此时所有过程都是成功的 然后我执行

peer chaincode instantiate -n fabcar -v 0 -c '{"Args":["init"]}'  -C mycar
控制台告诉我:

2017-10-18 10:59:50.945 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
2017-10-18 10:59:50.945 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
2017-10-18 10:59:50.945 UTC [msp/identity] Sign -> DEBU 003 Sign: plaintext: 0AA4080A5C08011A0C08A6E89CCF0510...6E666967426C6F636B0A056D79636172
2017-10-18 10:59:50.945 UTC [msp/identity] Sign -> DEBU 004 Sign: digest: 38FA755F94FA90784C50D77E8638EA42679C0F8216AA3DBE10A7D8D2F2215D80
Error: Error getting (mycar) orderer endpoint: Error endorsing GetConfigBlock: rpc error: code = Unknown desc = chaincode error (status: 500, message: "GetConfigBlock" request failed authorization check for channel [mycar]: [Failed to get policy manager for channel [mycar]])

如何解决?

1 个答案:

答案 0 :(得分:1)

Chaincode事实上实际上是背书交易,必须最终提交给订购服务,因此你在instantiate命令中错过的是订购服务端点,例如:

你做了:

peer chaincode instantiate -n fabcar -v 0 -c '{"Args":["init"]}'  -C mycar

需要时:

peer chaincode instantiate -o orderer.example.com:7050 -n fabcar -v 0 -c '{"Args":["init"]}'  -C mycar