Где хранится политика одобрения? - PullRequest
0 голосов
/ 12 июня 2018

Я новичок в Hyperledger Fabric.Кто-нибудь может сказать мне, где хранится подтверждающая политика в Hyperledger Fabric?

Заранее спасибо

1 Ответ

0 голосов
/ 12 июня 2018

Когда вы указываете (или изменяете) политику подтверждения для цепного кода в контексте канала, она сохраняется заказчиком в блоке конфигурации для этого канала.

Из документации Hyperledger Fabric 1.1:

Когда получено CONFIG_UPDATE, заказчик вычисляет результирующий CONFIG, выполняя следующее:

  1. Проверяет channel_id и read_set.Все элементы в read_set должны существовать в данных версиях.

  2. Вычисляет набор обновлений, собирая все элементы в write_set, которые не отображаются в той же версии в read_set.

  3. Проверяет, что каждый элемент в наборе обновлений увеличивает номер версии обновления элемента ровно на 1.

  4. Проверяет, что набор подписей, прикрепленный к ConfigUpdateEnvelopeудовлетворяет mod_policy для каждого элемента в наборе обновлений.

  5. Вычисляет новую полную версию конфигурации, применяя набор обновлений к текущей конфигурации.

  6. Записывает новый конфиг в ConfigEnvelope, который включает CONFIG_UPDATE в качестве поля last_update и новый конфиг, закодированный в поле конфига, вместе с увеличенным значением последовательности.

  7. Записывает новыйConfigEnvelope в Envelope типа CONFIG и в конечном итоге записывает это как единственную транзакцию в новой конфигурации block.

Когда узел (или любой другой получатель для Deliver) получает этот блок конфигурации, он должен проверить, что конфигурация была надлежащим образом проверена, применяя сообщение last_update к текущей конфигурации и проверяячто поле config, вычисляемое заказчиком, содержит правильную новую конфигурацию.

...