Установка и использование платформы
Развертывание платформы в частной сети¶
Если ваш проект или решение требует независимого блокчейна, вы можете развернуть собственную блокчейн-сеть на базе платформы Waves Enterprise. Обратитесь в службу технической поддержки, и специалисты компании помогут вам сконфигурировать поставку платформы под нужды вашего проекта.
Однако если вам потребуется изменить какие-либо параметры или настроить платформу самостоятельно, в данном разделе приведено пошаговое руководство по развертыванию и ручному конфигурированию платформы для работы в частной сети.
Примечание
Порядок создания аккаунтов нод, подписания genesis-блока и запуска сети в коммерческой версии платформы при использовании ГОСТ криптографии с PKI отличается от описанного в этом разделе. Этот порядок представлен в документации к коммерческой версии патформы. За более подробной информацией обратитесь в отдел продаж Waves Enterprise по электронной почте: sales@wavesenterprise.com.
Создание аккаунта ноды¶
Создайте аккаунты для каждой ноды вашей будущей сети.
Аккаунт ноды включает в себя адрес и ключевую пару – публичный и приватный ключи.
Генерация ключей производится при помощи утилиты AccountsGeneratorApp, которая входит в пакет generator. Этот пакет вы можете скачать из официального репозитория Waves Enterprise в GitHub, выбрав используемую вами версию платформы.
Адрес и публичный ключ будут показаны в командной строке во время создания аккаунта при помощи утилиты generator. Приватный ключ ноды записывается в хранилище ключей – файл keystore.dat
, который размещается в директории ноды.
Для создания аккаунта используется конфигурационный файл accounts.conf
, содержащий параметры генерации аккаунтов.
Этот файл находится в директории каждой ноды.
Чтобы создать аккаунт ноды, перейдите в ее директорию и разместите в ней скачанный файл generator-x.x.x.jar, где x.x.x – номер релиза блокчейн-платформы. Затем запустите его, введя в качестве аргумента файл accounts.conf
:
java -jar generator-x.x.x.jar AccountsGeneratorApp accounts.conf
При создании пары ключей вы можете придумать свой пароль для защиты ключевой пары ноды. В дальнейшем вы сможете использовать его в ручном режиме при каждом старте вашей ноды, либо задать глобальные переменные для запроса пароля при старте системы. Подробная информация об использовании пароля для пары ключей ноды приведена в описании генератора аккаунтов.
Если вы не хотите использовать пароль для защиты ключевой пары, нажмите клавишу Enter
, оставив поле пустым.
В результате работы утилиты будут выведены следующие сообщения:
2021-02-09 16:03:18,940 INFO [main] c.w.g.AccountsGeneratorApp$ - 1 Address: 3Nu7MwQ1eSmDVwBzrN1nyzR8wqb2yzdUcyN; public key: F4ytnnS6H72ypCEpgNKYftGotpdX83ZxtWRX2dyGzDiA
2021-02-09 16:03:18,942 INFO [main] c.w.g.AccountsGeneratorApp$ - Generator done
В директории ноды будет создан файл keystore.dat
, содержащий публичный ключ аккаунта.
Настройка платформы для работы в частной сети¶
Для конфигурации платформы используются следующие файлы:
node.conf
– основной конфигурационный файл ноды, определяющий ее принципы работы и набор опций.api-key-hash.conf
– конфигурационный файл для генерации значений полейapi-key-hash
иprivacy-api-key-hash
, используется для настройки авторизации ноды при выборе метода авторизации по хэшу ключевой строкиapi-key
. Принципы работы с этим конфигурационным файлом будут рассмотрены при настройке метода авторизации ноды.
Примечание
Параметры конфигурации ноды можно записать в одном файле либо в нескольких файлах, включая один файл в другой, например:
include required(file("network.conf"))
include required(file("local.conf"))
Таким образом можно вынести в один файл общие для всех нод параметры, а уникальные параметры ноды (например, owner-address
) задать в отдельном файле для каждой ноды.
Ниже приведено пошаговое руководство по ручной конфигурации отдельной ноды для работы в частной сети. Если в вашей сети развернуто несколько нод, для каждой из них требуется выполнить аналогичные шаги по конфигурации.
Шаг 1. Общая настройка платформы
На этом этапе выполняется настройка криптографии, консенсуса, исполнения смарт-контрактов Docker и майнинга. Все необходимые для этого параметры располагаются в файле node.conf.
Шаг 2. Тонкая настройка платформы
На этом этапе выполняется настройка инструментария gRPC и REST API ноды, их авторизации, настройка групп доступа к конфиденциальным данным и так далее. Эти настройки могут потребоваться вам в случае изменения предустановленных параметров для конфигурации вашего оборудования или ПО.
Все необходимые параметры также располагаются в файле конфигурации ноды node.conf. Для настройки авторизации также применяется файл api-key-hash.conf, необходимый при выборе метода авторизации по хэшу заданной строки api-key.
- Тонкая настройка платформы: настройка авторизации для gRPC и REST API
- Тонкая настройка платформы: настройка инструментов gRPC и REST API ноды
- Тонкая настройка платформы: настройка TLS
- Тонкая настройка платформы: настройка групп доступа к конфиденциальным данным
- Тонкая настройка платформы: настройка логирования
- Тонкая настройка платформы: настройка анкоринга
- Тонкая настройка платформы: настройка механизма создания снимка данных
- Тонкая настройка платформы: настройка ноды в режиме наблюдения
- Тонкая настройка платформы: настройка размера комиссии за отправленные в блокчейн транзакции
Полные примеры конфигурационных файлов для настройки каждой ноды приведены здесь.
Получение лицензии для работы в частной сети¶
Для развертывания платформы в частной сети вам необходимо получить вид лицензии, соответствующий вашим целям: пробную, коммерческую или некоммерческую.
Примечание
Opensource-версия блокчейн-платформы Waves Enterprise не требует лицензии.
Лицензия для запуска ноды привязана к ключу владельца ноды. В самой лицензии прописан адрес ноды, для которого лицензия выпущена.
Для обсуждения деталей вашей лицензии свяжитесь с отделом продаж Waves Enterprise по электронной почте: sales@wavesenterprise.com.
По результатам обсуждения вам будет прислан файл лицензии. Поместите этот файл в папку, путь к которой указан в параметре license-file
конфигурационного файла ноды.
Перед развертыванием блокчейн-платформы ознакомьтесь с системными требованиями.
Подписание genesis-блока¶
После выполнения конфигурации нод вашей сети необходимо создать genesis-блок – первый блок приватного блокчейна, содержащий транзакции, определяющие первоначальный баланс и разрешения ноды.
Genesis-блок подписывается утилитой GenesisBlockGenerator, входящей в пакет generator. В качестве аргумента она использует настроенный вами конфигурационный файл ноды node.conf
:
java -jar generator-x.x.x.jar GenesisBlockGenerator node.conf
В результате работы утилиты поля genesis-public-key-base-58
и signature
, находящиеся в блоке genesis
секции blockchain
конфигурационного файла ноды, будут заполнены сгенерированными значениями открытого ключа и подписи genesis-блока.
Пример:
genesis-public-key-base-58: "4ozcAj...penxrm"
signature: "5QNVGF...7Bj4Pc"
Запуск сети¶
После подписания genesis-блока платформа полностью настроена и готова для запуска сети.
Вы можете запустить сеть через следующие инструменты администрирования докер-контейнеров:
Docker Compose
Kubernetes
Если вы планируете запускать сеть через Docker Compose, то следуйте той же процедуре, что и при запуске сети в ознакомительном режиме.
Если вы планируете запускать сеть через Kubernetes, то следуйте указаниям, полученным от специалистов технической поддержки Waves Enterprise.
Привязка Клиента к частной сети¶
После запуска сети привяжите к ней клиентское приложение Waves Enterprise – с его помощью пользователи сети смогут отправлять транзакции в блокчейн, а также публиковать и вызывать смарт-контракты.
Откройте браузер и введите в адресную строку сетевой адрес вашего компьютера с развернутым ПО ноды.
Зарегистрируйтесь в веб-клиенте, используя любой действительный электронный адрес, и зайдите в веб-клиент.
Откройте страницу Выберите адрес -> Создать адрес. Для открытия меню после первого входа необходимо ввести пароль, который вы вводили при регистрации аккаунта.
Выберите пункт Добавить адрес из ключевого хранилища ноды и нажмите кнопку Продолжить.
Заполните поля, указанные ниже. Необходимые значения приведены в файле
credentials.txt
для первой ноды в рабочей директории.
Имя адреса – укажите название ноды;
URL ноды – укажите значение
http://<сетевой адрес компьютера>/<адрес ноды>
;Тип авторизации на ноде – выберите тип авторизации, который вы настроили ранее: по JWT-токену или по
api-key
;Блокчейн-адрес – укажите адрес ноды;
Пароль от ключевой пары – укажите пароль от ключевой пары ноды, если задавали его при генерации аккаунта.
Описание Клиента приведено на странице Клиент.