问题:
我创建了一个Hyperledger Fabric网络,其中有六个组织,每个都有2个对等方。运行网络后,我在每个组织的一个对等点上安装fabcar链码,然后使用此命令实例化链码。
peer chaincode instantiate -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -n fabcar -l node -v 1.0 -c '{"Args":["init"]}' -C myc -P "AND ('Org2MSP.peer','Org1MSP.peer',Org3MSP.peer','Org4MSP.peer','Org5MSP.peer','Org6MSP.peer')"
在执行此命令之前,所有操作均成功完成,没有给我任何错误。在尝试使用此命令调用函数之后。
peer chaincode invoke -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C myc -n fabcar -c '{"Args":["initLedger"]}
此命令在特定的对等日志上留下此错误。
2019-05-12 13:38:01.162 UTC [gossip.privdata] StoreBlock->信息191 [myc]从缓冲区2019-05-12 13:38:01.213接收了块[8] UTC [vscc]验证-> ERRO 192 VSCC错误: stateBasedValidator.Validate失败,认可的错误验证 TX 8:0中的链码fabcar的策略失败:签名集未设置 满足政策2019-05-12 13:38:01.213 UTC [committer.txvalidator] validateTx->事务txId的ERRO 193 VSCCValidateTx = a17c0deb20af5a4e0a232fa432ea13e74fca101b63cb697384bbaced80905773 返回的错误:验证chaincode fabcar的认可策略 在TX 8:0中失败:签名集不满足策略2019-05-12 13:38:01.258 UTC [committer.txvalidator]验证-> INFO 194 [myc]在96ms内验证区块[8] 2019-05-12 13:38:01.259 UTC [valimpl] preprocessProtoBlock-> WARN 195频道[trafficfine]: 块[8]交易索引[0] TxId [a17c0deb20af5a4e0a232fa432ea13e74fca101b63cb697384bbaced80905773] 由提交者标记为无效。原因码 [ENDORSEMENT_POLICY_FAILURE]
这是邮政编码上的日志。
fabcar@1.0.0开始/ usr / local / src 节点fabcar.js“ --peer.address”“ peer0.org2.example.com:9052”
2019-05-12T13:35:08.951Z信息[lib / chaincode.js]
信息:向对等方peer0.org2.example.com:9052注册为链码 “ fabcar:1.0” {“ timestamp”:“ 2019-05-12T13:35:08.951Z”} 2019-05-12T13:35:09.232Z信息[lib / handler.js]
info:已成功在对等节点上注册。国家转移到 “已建立” {“时间戳”:“ 2019-05-12T13:35:09.232Z”} 2019-05-12T13:35:09.234Z信息[lib / handler.js]
info:与对等节点成功建立通信。州 转移到“就绪” {“时间戳”:“ 2019-05-12T13:35:09.234Z”} ===========实例化fabcar链码============ 2019-05-12T13:35:09.240Z信息[lib / handler.js]
信息:[myc-8ecdb2a5]调用链码Init()成功。正在发送 已完成的消息返回给同级 {“ timestamp”:“” 2019-05-12T13:35:09.240Z“} {fcn:'initLedger',参数: []} =============开始:初始化分类帐===========成功{状态:200,消息:”,有效载荷:}添加了<-> {make: '丰田',型号:'Prius',颜色:'蓝色',车主:'Tomoko',
docType:“汽车”}成功{状态:200,消息:“,有效载荷: }添加了<-> {品牌:“福特”,型号:“野马”,颜色: '红色',所有者:'布拉德',文档类型:'汽车'}成功{状态:200, 消息:”,有效载荷:}添加了<-> {make:'Hyundai',
型号:“图森”,颜色:“绿色”,所有者:“ Jin Soo”,docType: 'car'}成功{状态:200,消息:”,有效载荷:} 添加了<-> {品牌:“大众”,型号:“帕萨特”,颜色: '黄色',所有者:'最大',文档类型:'汽车'}成功{状态:200, 消息:”,有效载荷:}添加了<-> {make:'Tesla',
型号:“ S”,颜色:“黑色”,所有者:'Adriana',docType:'car'} 成功{状态:200,消息:”,有效载荷:}已添加<-> {品牌:“标致”,型号:“ 205”,颜色:“紫色”,所有者: 'Michel',docType:'car'}成功{状态:200,消息:”, 有效载荷:}添加了<-> {make:“ Chery”,型号:“ S22L”,
颜色:“白色”,所有者:“ Aarav”,docType:“汽车”}成功{ 状态:200,消息:”,有效载荷:}已添加<-> {make: '菲亚特',型号:'Punto',颜色:'紫罗兰色,所有者:'Pari',
docType:“汽车”}成功{状态:200,消息:“,有效载荷: }添加了<-> {make:'Tata',型号:'Nano',颜色: 'indigo',所有者:'Valeria',docType:'car'}成功{状态: 200,消息:“”,有效载荷:}已添加<-> {make:'Holden',
型号:“ Barina”,颜色:“棕色”,所有者:“ Shotaro”,docType: “汽车”} ============结束:初始化账本=========== 2019-05-12T13:37:58.998Z信息[lib / handler.js]
信息:[myc-a17c0deb]调用链码Invoke()成功。正在发送 已完成的消息返回给同级 {“ timestamp”:“ 2019-05-12T13:37:58.998Z”}
我做了很多尝试来弄清楚我的网络出了什么问题。但是我无法找到答案。有人可以帮助我解决这个问题吗?谢谢。
答案 0 :(得分:1)
您的背书政策是AND政策,因此您需要从政策中定义的所有组织中收集背书。您可以在invoke命令中使用[--peerAddresses]标志将事务发送到不同组织中的多个对等方,并获取该策略所需的必需签名。