私有数据收集:GET_STATE失败->策略问题?

时间:2019-04-01 09:09:10

标签: hyperledger-fabric

我想在我的网络中使用私人数据收集。因此,我添加了

  

err = stub.PutPrivateData(“ privateData”,key,DATA)

在我的ChainCode中创建资产功能。

之前,我创建了一个集合,其中有2个组织可以访问此私有数据并将其保存在其SideDB中:

[{
   "name": "privateData",
   "policy": "OR('Org1MSP.member','Org2MSP.member')",
   "requiredPeerCount": 0,
   "maxPeerCount": 3,
   "blockToLive":0,
   "memberOnlyRead": true
 }]

当我现在使用Org1创建资产+私有数据时,一切都成功了。我可以创建数据,也可以读取链上数据(使用常规查询GetState)成功并私有数据

  

valAsBytes,错误:= stub.GetPrivateData(“ privateData”,键)

当我现在确定为Org2MSP的对等节点并使用上面完全相同的查询对私有数据进行读取查询时,它会告诉我此错误:

GET_STATE failed: transaction ID: fc4de5a8a987765ab0ab4b6bc4f767249b4f74aefdad7e0036782faa4d95494e: private data matching public hash version is not available. Public hash version = &version.Height{BlockNum:0x2, TxNum:0x0}, Private data version = (*version.Height)

Hyperledger Fabric教程告诉我,当出现此错误时,调用组织无法访问此数据。但是我将此组织添加到了集合中的相关策略中。

您知道这里出了什么问题吗?我应该改变什么?我尝试交换策略/调整configtx等,但没有解决。

0 个答案:

没有答案