Для того, чтобы Hauberk Admin получил возможность удаленного администрирования вашего ИТ-сегмента, необходимо проинициализировать сервисы, скопировать приватные ключи и сертификаты, скорректировать файлы конфигурации. Для работы с демонстрационным стендом у вас должно быть три сервера с установленными коннекторами.
2
Создание блокчейн-сети
В рамках демонстрационного стенда вы можете проинициализировать одну блокчейн-сеть с двумя прикладными участниками и одной ордерер-организацией.
Рекомендуемые названия-MSPID организаций:
OperatorMSP
Org1MSP
Org2MSP
Суффикс домена должен строго соответствовать доменам, переданным в составе архива с криптоматериалами. На примере пакета для Infotecs доменные имена должны быть:
infotecs.operator.example.com – для ордерер-организации
infotecs.org1.example.com – для организации Org1MSP
infotecs.org2.example.com – для организации Org2MSP
Для выполнения этого и последующих шагов вам нужно зайти на демо-портал облачного Hauberk Admin сервера, размещённого по адресу http://cloud-hauberk-admin.demo.hauberk.tech/ под учётной записью Оператора.
На примере пакета для Infotecs, учетная запись будет adminInfotecsOperator.
Сценарий:
1
Выполнить вход под учетной записью Оператора (OperatorMSP)
2
Перейти на страницу «Управление сетями» и нажать кнопку «Добавить» >> «Создать сеть»
3
Заполнить карточку: указать название — «Тестовая сеть», задать модель политики управления изменениями — OR, указать роль — OSN, и MSPID организации — OperatorMSP, а так же домен оператора сети
4
Нажать кнопку «Далее». На текущей странице добавить две организации прикладных участников Org1MSP и Org2MSP
Блокчейн-сеть базируется на доменной авторизации: каждый узел имеет свое DNS-имя, по которому узлы одного участника идентифицируют принадлежность к узлам другого участника. Для управления правилами сопоставления DNS-имён реальным серверам вашего ИТ-сегмента в составе Hauberk Admin реализован механизм сетевых карт. При инициализации сервисов эти правила будут загружены в узлы в виде extra_host параметров.
Для каждой организации – Org1MSP, Org2MSP, OperatorMSP необходимо задать реальный IP-адрес серверов-пиров или ордереров.
На примере пакета для Infotecs, серверы будут иметь DNS-имена:
orderer.infotecs.operator.example.com
peer0.infotecs.org1.example.com
peer0.infotecs.org2.example.com
Сценарий:
1
Выполнить вход под учетной записью Оператора (OperatorMSP)
2
Выбрать из списка сетей на странице «Все сети» блокчейн-сеть «Тестовая сеть», если она не была выбрана по умолчанию
3
В разделе «OSN-провайдеры» для OperatorMSP задать IP-адрес для ордерера
4
В разделе «Участники» для Org1MSP добавить peer0 и задать IP-адрес
5
В разделе «Участники» для Org2MSP добавить peer0 и задать IP-адрес
6
Выйти из учетной записи OperatorMSP и выполнить вход в учетную запись Org1MSP, выполнить аналогичные действия по инициализации IP-адресов для сегмента Org1MSP
4
Инициализация сервисов Hyperledger Fabric
После того, как сеть создана и сетевые адресы корректно настроены, можно выполнить инициализацию сервисов Hyperleger Fabric. Необходимо последовательно запустить инициализацию сервисов через Hauberk Connector для каждого из сегментов: OperatorMSP, Org1MSP, Org2MSP.
Сценарий:
1
Выполнить вход под учетной записью Оператора (OperatorMSP)
2
Выбрать из списка сетей на странице «Все сети» блокчейн-сеть «Тестовая сеть», если она не была выбрана по умолчанию
3
Перейти на страницу «Сервисы» и нажать кнопку «Добавить сервер»
4
Указать IP-адрес сервера для OperatorMSP и порт 8090
5
Дождаться выполнения подключения
6
Выбрать admin-tool: после получения статуса нажать кнопку «Инициализировать» и дождаться завершения операции
7
Перейти на страницу «Сервисы», выбрать ордерер и проинициализировать сервис
8
Выйти из учетной записи OperatorMSP и выполнить вход в учетную запись Org1MSP, выполнить аналогичные действия по инициализации admin-tool и пира для сегмента Org1MSP
9
Выйти из учетной записи Org1MSP и выполнить вход в учетную запись Org2MSP, выполнить аналогичные действия по инициализации admin-tool и пира для сегмента Org2MSP
5
Создание канала
Когда в текущей блокчейн-сети проинициализированы пиры Hyperledger Fabric, можно создать каналы с прикладными участниками.
Для этого нужно зайти в раздел «Каналы» и выполнить создание канала. Создание канала всегда выполняется одним из прикладных участников, другие участники могут подключиться к каналу, используя функцию «Импорта канала».
Сценарий:
1
Выполнить вход под учетной записью участника блокчейн-сети (Org1MSP)
2
Выбрать из списка сетей на странице «Все сети» блокчейн-сеть «Тестовая сеть», если она не была выбрана по умолчанию
3
Перейти на страницу «Каналы» и нажать кнопку «Добавить канал»
4
Заполнить карточку: указать название канала — «mychannel», задать модель политики управления изменениями и модель политики жизненным циклом чейнкода — OR
5
Нажать кнопку «Далее». На текущей странице добавить обоих участников
6
Создать канал
6
Подключение пиров
Для реализации возможности запуска смарт-контракта в канале необходимо подключить пир-узлы. Для этого нужно открыть карточку узла и подключить пир ко всем необходимым каналам.
Сценарий:
1
Выполнить вход под учетной записью участника блокчейн-сети (Org1MSP)
2
Выбрать из списка сетей на странице «Все сети» блокчейн-сеть «Тестовая сеть», если она не была выбрана по умолчанию
3
Перейти на страницу «Сервисы»
4
Выбрать пир и дождаться, когда в разделе «Каналы» появится канал, созданный на шаге 5
5
Нажать кнопку «Присоединиться» и дождаться присоединения
6
Выйти из учетной записи Org1MSP и выполнить вход в учетную запись Org2MSP, выполнить аналогичные действия по подключению пиров для Org2MSP
7
Инициализация смарт-контракта «Sacc»
Для работы со смарт-контрактами в Hauberk Admin создан раздел «Смарт-контракты».
В качестве тестового примера для демонстрации подходов работы со смарт-контрактами предлагается использовать тестовый смарт-контракт «Sacc». Более подробно можно прочитать в репозитории Hyperledger Fabric Samples.
Сценарий:
1
Выполнить вход под учетной записью участника блокчейн-сети (Org1MSP)
2
Выбрать из списка сетей на странице «Все сети» блокчейн-сеть «Тестовая сеть», если она не была выбрана по умолчанию
3
Перейти на страницу «Смарт-контракты»
4
Нажать кнопку «Добавить» и нажать кнопку «Добавить» >> «Создать смарт-контракт
5
Заполнить карточку
6
Создать смарт-контракт и дождаться его загрузки локально на сервер Hauberk Admin
8
Установка смарт-контракта
Типовым способом дистрибуции и установки смарт-контрактов является механизм упаковки (packaging).
В составе Hauberk Admin реализованы средства автоматизированной сборки package-ей и установки на узлы-пиры ИТ-сегмента.
Сценарий:
1
Выполнить вход под учетной записью участника блокчейн-сети (Org1MSP)
2
Выбрать из списка сетей на странице «Все сети» блокчейн-сеть «Тестовая сеть», если она не была выбрана по умолчанию
3
Перейти на страницу «Смарт-контракты» и выбрать смарт-контракт «Sacc»
4
Нажать кнопку «Cобрать package», далее указать название — sacc, и версию — 1
5
Нажать кнопку «Установить смарт-контракт»
6
Выйти из учетной записи Org1MSP и выполнить вход в учетную запись Org2MSP, выполнить аналогичные действия по установке смарт-контракта на пир-узел организации Org2MSP
9
Одобрение и запуск смарт-контракта в блокчейн-сети
Для того, чтобы смарт-контракт начал функционировать в блокчейн-сети, должна быть задана политика-консенсус для исполнения транзакций и произведены операции одобрения (Approve) и запуска (Commit).
Сценарий:
1
Выполнить вход под учетной записью участника блокчейн-сети (Org1MSP)
2
Выбрать из списка сетей на странице «Все сети» блокчейн-сеть «Тестовая сеть», если она не была выбрана по умолчанию
3
Перейти на страницу «Смарт-контракты» и выбрать смарт-контракт «Sacc»
4
Перейти в созданный пакет «sacc.v1»
5
Нажать кнопку «Создать экземпляр»
6
В открывшемся окне выбрать канал «Mychannel», задать модель политики управления изменениями «OR» с двумя организациями: Org1MSP и Org2MSP
7
После создания последовательно нажать кнопки «Approve» и «Commit»
8
Выйти из учетной записи Org1MSP и выполнить вход в учетную запись Org2MSP, выполнить аналогичные действия по одобрению смарт-контракта на пир-узел организации Org2MSP
10
Запуск блокчейн-эксплорера сети
Для того, чтобы производить мониторинг транзакций в созданной блокчейн-сети рекомендуется установить блокчейн-эксплорер на базе Hyperledger Explorer.
Сценарий:
1
Зайти на сервер с установленным пиром для организации Org1MSP
Настроить профиль в /examples/net1/connection-profile/ для нашей сети Тестовая сеть и канала mychannel, учётки входа и крипто-материалов администратора Org1MSP
5
Запустить сервис
6
Зайти через веб-интерфейс, просмотреть интерфейс и убедиться, что транзакции успешно прошли от имени пользователей Org1MSP и Org2MSP по созданию канала «mychannel», по согласованию и по запуску смарт-контракта «Sacc»
11
Выполнение тестовых транзакций в блокчейн-сети
Для того, чтобы убедиться в том, что смарт-контракт корректно работает, необходимо провести тестовые запросы к смарт-контракту.
Сценарий:
1
Зайти на сервер с установленным admin-tool для организации Org1MSP