#hyperledger-fabric #hyperledger
#hyperledger-fabric #hyperledger
Вопрос:
Я пытаюсь запросить информацию о канале с помощью node sdk (https://fabric-sdk-node.github.io/release-1.4/Channel.html — канал.queryInfo()).
У меня настроены две сети (настройка сети выполнена не мной. Итак, я не знаю, в чем различия). В одной сети я могу успешно выполнить запрос. В другом случае я получаю эту ошибку:
Ошибка: доступ запрещен для [GetChainInfo][ ]: [не удалось оценить политику для подписанных данных во время проверки политики [ / Channel / Application / Readers]: [Не удалось достичь неявного порога в 1 вложенную политику, требуется 1 оставшаяся]]
Но, когда я вызываю с useAdmin = true, т. Е. channel.queryInfo (не определено, true) работает. Мне интересно, что могло вызвать такую ошибку в одной сети, а не в другой. Есть ли какие-либо параметры, которые передаются при создании канала, чтобы разрешить / запретить неадминистраторам выполнять запросы?
Ответ №1:
ACL канала имеет поле по умолчанию
#ACL policy for qscc's "GetChainInfo" function
qscc/GetChainInfo: /Channel/Application/Readers
И считыватель каждой организации определен в configtx.yaml следующим образом
Policies: amp;org1Policies
Readers:
Type: Signature
Rule: "OR('org1.example.com.member')"
Похоже, что здесь может быть ваша проблема. Убедитесь, что Readers .member
не .admin
принадлежит к OrgMSP.