Сбор личных данных: сбой GET_STATE -> Проблема политики?

#hyperledger-fabric

#hyperledger-fabric

Вопрос:

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

ошибка = заглушка.PutPrivateData («Приватные данные», ключ, ДАННЫЕ)

в моем цепном коде создаются функции Assets.

Предварительно я создал коллекцию, в которой 2 организации могли получить доступ к этим личным данным и для этого иметь их в своих сторонних хранилищах:

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

Когда я теперь создаю ресурс личные данные с помощью Org1, все прошло успешно. Я мог бы создать данные, а также могу успешно считывать данные в цепочке (с обычным запросом getState) и личные данные

valAsBytes, ошибка: = заглушка.GetPrivateData («Приватные данные», ключ)

Когда я теперь идентифицируюсь как одноранговый узел Org2MSP и выполняю запрос на чтение личных данных с точно таким же запросом сверху, он сообщает мне об этой ошибке:

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

В руководстве Hyperledger Fabric сообщается, что при появлении этой ошибки вызывающая организация не имеет доступа к этим данным. Но я добавил эту организацию в соответствующую политику в коллекции.

У вас есть идеи, что здесь пошло не так? Что я должен изменить? Я пытался поменять политики / настроить configtx и т.д., Но ничего не получилось.

Комментарии:

1. Ok nvm, я сделал это сейчас. Все сделано правильно в приведенном выше. Я просто забыл запустить обновления канала. Теперь все работает нормально.

2. Как я могу запускать обновления канала?