# Установка ordering-узла В этом разделе мы познакомимся с процессом инициализации ordering-узла. Если вы хотите узнать больше про разные реализации ordering-служб, их достоинства и недостатки, ознакомьтесь с [документацией по ordering'у](./orderer/ordering_service.html). Этот раздел содержит несколько последовательных шагов. 1. Создание организации, которой принадлежит ordering-узел (если вы еще этого не сделали) 2. Настройка узла (с использованием `orderer.yaml`) 3. Создание genesis-блока (исходного блока) для системного ordering-канала 4. Инициализация ordering-службы Примечание: этот раздел подразумевает, что вы уже загрузили Hyperledger Fabric orderer docker images из docker hub. ## Создание определения организации Как и пиры, все ordering-службы должны принадлежать организации, созданной перед тем, как была создана ordering-служба. Определение этой организации инкапсулировано в службу [Membership Service Provider](./membership/membership.html) (MSP), которая создана службой Certificate Authority (CA), которая нужна для создания сертификатов и MSP для организации. Чтобы узнать о создании CA и использовании его для создания пользователей и MSP, ознакомьтесь с [руководством пользователя Fabric CA](https://hyperledger-fabric-ca.readthedocs.io/en/latest/users-guide.html). ## Настройка узла Настройка ordering-службы происходит через файл `yaml` --- `orderer.yaml`. Переменная окружения `FABRIC_CFG_PATH` используется для хранения адреса файла `orderer.yaml`, который нужно настроить и который извлечет набор файлов и сертификатов в вашу файловую систему. Пример `order.yaml` можно увидеть в [github-репозитории `fabric-samples`](https://github.com/hyperledger/fabric/blob/release-2.0/sampleconfig/orderer.yaml), с которым нужно внимательно ознакомиться перед настройкой. Обратите внимание на несколько переменных: * `LocalMSPID` --- название MSP, сгенерированное CA вашей организации, которой принадлежит ordering-служба. Тут будут перечислены администраторы вашей ordering-службы. * `LocalMSPDir` --- место хранения локальной MSP на вашей файловой системе. * `# TLS enabled`, `Enabled: False`. Здесь вы уточняете, хотите ли [использовать TLS](enable_tls.html). Если вы укажите значение `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)](configtx.html). ## Инициализация 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-службы.