Установка ordering-узла¶
В этом разделе мы познакомимся с процессом инициализации ordering-узла. Если вы хотите узнать больше про разные реализации ordering-служб, их достоинства и недостатки, ознакомьтесь с документацией по ordering“у.
Этот раздел содержит несколько последовательных шагов.
- Создание организации, которой принадлежит ordering-узел (если вы еще этого не сделали)
- Настройка узла (с использованием
orderer.yaml
) - Создание genesis-блока (исходного блока) для системного ordering-канала
- Инициализация 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
, с которым нужно внимательно ознакомиться перед настройкой. Обратите внимание на несколько переменных:
LocalMSPID
— название MSP, сгенерированное CA вашей организации, которой принадлежит ordering-служба. Тут будут перечислены администраторы вашей ordering-службы.LocalMSPDir
— место хранения локальной MSP на вашей файловой системе.# TLS enabled
,Enabled: False
. Здесь вы уточняете, хотите ли использовать TLS. Если вы укажите значениеtrue
, вам нужно будет указать расположение релевантных TLS-сертификатов. Обратите внимание, что это обязательно для Raft-узлов.BootstrapFile
— название genesis-блока, который нужно сгенерировать для ordering-службы.BootstrapMethod
— метод по которому определяется bootstrap-блок. Сейчас им может быть толькоfile
, где файл указан в переменнойBootstrapFile
.
Если вы используете этот узел как часть кластера (например, часть кластера 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-службы.