Установка ordering-узла

В этом разделе мы познакомимся с процессом инициализации ordering-узла. Если вы хотите узнать больше про разные реализации ordering-служб, их достоинства и недостатки, ознакомьтесь с документацией по ordering'у.

Этот раздел содержит несколько последовательных шагов. 1. Создание организации, которой принадлежит ordering-узел (если вы еще этого не сделали) 2. Настройка узла (с использованием orderer.yaml) 3. Создание genesis-блока (исходного блока) для системного ordering-канала 4. Инициализация ordering-службы

Примечание: этот раздел подразумевает, что вы уже загрузили Hyperledger Fabric orderer docker images из docker hub.

Создание определения организации

Как и пиры, все ordering-службы должны принадлежать организации, созданной перед тем, как была создана ordering-служба. Определение этой организации инкапсулировано в службу Membership Service Provider (MSP), которая создана службой Certificate Authority (CA), которая нужна для создания сертификатов и MSP для организации.

Чтобы узнать о создании CA и использовании его для создания пользователей и MSP, ознакомьтесь с руководством пользователя Fabric CA.

Настройка узла

Настройка ordering-службы происходит через файл yaml --- orderer.yaml. Переменная окружения FABRIC_CFG_PATH используется для хранения адреса файла orderer.yaml, который нужно настроить и который извлечет набор файлов и сертификатов в вашу файловую систему.

Пример order.yaml можно увидеть в github-репозитории fabric-samples, с которым нужно внимательно ознакомиться перед настройкой. Обратите внимание на несколько переменных:

Если вы используете этот узел как часть кластера (например, часть кластера Raft-узлов), обратите внимание на секции Cluster и Consensus.

Если вы планируете использовать ordering-службу, базирующуюся на платформе Kafka, нужно ознакомиться с секцией Kafka.

Генерация genesis-блока ordering-службы.

Первый блок нового канала называется genesis-блоком. Если этот genesis-блок создается в процессе создания новой сети (другими словами, если создаваемая ordering-служба не будет присоединяться к существующему кластеру ordering-служб), то этот genesis-блок будет первым блоком “orderer system channel” (системный канал ordering-службы) (или “ordering system channel”), специального канала, управляемого администраторами ordering-службы и содержащего список организаций, которым разрешено создавать каналы. Genesis-блок orderer system channel особенный: он должен быть создан и включен в конфигурацию узла до того, как узел может быть запущен.

Узнать о создании genesis-блока с помощью configtxgen можно тут: Конфигурация канала (configtx).

Инициализация ordering-узла.

Как только вы собрали images, создали MSP, настроили orderer.yaml и создали genesis-блок, можно начинать запуск ordering-службы, для чего нужно использовать примерно такую команду: docker-compose -f docker-compose-cli.yaml up -d --no-deps orderer.example.com Где на месте orderer.example.com стоит адрес вашей ordering-службы.