Сбор личных данных: сбой GET_STATE -> Проблема политики? - PullRequest
0 голосов
/ 01 апреля 2019

Я хочу использовать частный сбор данных в моей сети.Поэтому я добавил

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, err: = 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 и т. Д., Но ничего не получилось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...