Возможно ли более точно настроить управление доступом в частных коллекциях данных Hyperledger Fabri c, чем ограничивать целые организации? - PullRequest
0 голосов
/ 19 февраля 2020

В Hyperledger Fabri c Документах , читая о частных коллекциях данных, я натолкнулся на это предложение относительно memberReadOnly:

Используйте значение false, если хотите кодировать более детальный контроль доступа в отдельных функциях цепного кода.

Если я правильно понимаю, это позволяет мне кодировать спецификации смарт-контракта, которые позволят мне ограничить контроль, например. указать c клиентов одной организации вместо всех партнеров организаций-членов.

Если это так, мне любопытно, как это можно сделать в контракте. Есть ли конкретный c способ управления доступом или это на мое усмотрение писать код, который будет обеспечивать его выполнение? Если бы вы могли предоставить мне какие-либо примеры, это было бы очень полезно.

Чтобы прояснить, что я имею в виду, я пришел из Ethereum, и я по сути спрашиваю, есть ли что-то вроде метода require в массиве, или я бы просто использовал простой if.

Спасибо за любую помощь. Если вы закроете вопрос о неправильном сайте, укажите мне, где я могу найти нужное место.

1 Ответ

0 голосов
/ 21 февраля 2020

Вы не правильно поняли.

Установка этого значения (memberOnlyRead) на true означает, что если клиент отправляет предложение коллеге, а клиент не находится в коллекции, то если одноранговый узел находится в коллекции и имеет доступ к данным - он автоматически откажется с ошибкой, независимо от того, что сказано в смарт-контракте.

Если значение равно false, то одноранговый узел не будет принудительно применять такую ​​вещь, и тогда у вас будет больше свободы для кодирования любой логики контроля доступа c, которую вы хотите для клиентов.

...