Установка и использование платформы
Развертывание платформы в частной сети¶
Если ваш проект или решение требует независимого блокчейна, вы можете развернуть собственную блокчейн-сеть на базе платформы Waves Enterprise. Специалисты компании помогут вам сконфигурировать поставку платформы под нужды проекта.
Однако если вам потребуется изменить какие-либо параметры или настроить платформу самостоятельно, в данном разделе приведено пошаговое руководство по развертыванию и ручному конфигурированию платформы для работы в частной сети.
Получение лицензии для работы в частной сети и сопутствующих файлов¶
Для развертывания платформы в частной сети вам необходимо получить вид лицензии, соответствующий вашим целям: пробную, коммерческую или некоммерческую.
Для обсуждения деталей вашей лицензии свяжитесь с отделом продаж Waves Enterprise по электронной почте: sales@wavesenterprise.com.
По результатам обсуждения, вам будет прислан YAML-файл для Kubernetes, необходимый для первичного развертывания платформы и инструкции по развертыванию и запуску платформы для вашей конфигурации оборудования.
Перед развертыванием ознакомьтесь с системными требованиями к блокчейн-платформе.
Создание аккаунта ноды¶
После получения лицензии и первичного развертывания вам потребется создать аккаунты для каждой ноды вашей будущей сети.
Генерация ключей производится при помощи утилиты AccountsGeneratorApp, которая входит в пакет generators. Этот пакет вы можете скачать из официального репозитория Waves Enterprise в GitHub, выбрав используемую вами версию платформы.
Аккаунт ноды включает в себя адрес и ключевую пару - публичный и приватный ключи.
Адрес и публичный ключ будут показаны в командной строке во время создания аккаунта при помощи утилиты generators.
Приватный ключ ноды записывается в хранилище ключей - файл keystore.dat
, который размещается в директории ноды.
Для создания аккаунта используется конфигурационный файл accounts.conf
, содержащий параметры генерации аккаунтов.
Этот файл находится в директории каждой ноды.
Чтобы создать аккаунт ноды, перейдите в ее директорию и разместите в ней скачанный файл generators.jar.
Затем запустите его, введя в качестве аргумента файл accounts.conf
:
java -jar generators-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
. Принципы работы с этим конфигурационным файлом будут рассмотрены при настройке метода авторизации ноды.
Ниже приведено пошаговое руководство по ручной конфигурации отдельной ноды для работы в частной сети. Если в вашей сети развернуто несколько нод, для каждой из них требуется выполнить аналогичные шаги по конфигурации.
Шаг 1. Общая настройка платформы
На этом этапе выполняется настройка консенсуса, исполнения смарт-контрактов Docker и майнинга. Все необходимые для этого параметры располагаются в файле node.conf.
Шаг 2. Тонкая настройка платформы
На этом этапе выполняется настройка инструментария gRPC и REST API ноды, их авторизации, TLS и групп доступа к конфиденциальным данным. Эти настройки могут потребоваться вам в случае изменения предустановленных параметров для конфигурации вашего оборудования или ПО.
Все необходимые параметры также располагаются в в файле конфигурации ноды node.conf. Для настройки авторизации также применяется файл api-key-hash.conf, необходимый при выборе метода авторизации по хэшу заданной строки api-key.
Также для настройки TLS вам потребуется утилита keytool, которая входит в состав Java SDK или JRE.
- Тонкая настройка платформы: настройка авторизации для gRPC и REST API
- Тонкая настройка платформы: настройка инструментов gRPC и REST API ноды
- Тонкая настройка платформы: настройка TLS
- Тонкая настройка платформы: настройка групп доступа к конфиденциальным данным
- Тонкая настройка платформы: настройка анкоринга
- Тонкая настройка платформы: настройка механизма создания снимка данных
Полные примеры конфигурационных файлов для настройки каждой ноды приведены здесь.
Подписание genesis-блока и запуск сети¶
После выполнения конфигурации нод вашей сети необходимо создать genesis-блок - первый блок приватного блокчейна, содержащий транзакции, определяющие первоначальный баланс и разрешения ноды.
Genesis-блок подписывается утилитой GenesisBlockGenerator, входящей в пакет generators. В качестве аргумента она использует настроенный вами конфигурационный файл ноды node.conf
:
java -jar generators-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-блока платформа полностью настроена и готова для запуска сети. Вы можете запустить ее согласно указаниям, полученным от специалистов Waves Enterprise.
Привязка клиента к частной сети¶
После запуска сети привяжите к ней клиентское приложение Waves Enterprise - с его помощью пользователи сети смогут отправлять транзакции в блокчейн, а также публиковать и вызывать смарт-контракты.
Откройте браузер и введите в адресную строку сетевой адрес вашего компьютера с развернутым ПО ноды.
Зарегистрируйтесь в веб-клиенте, используя любой действительный электронный адрес, и зайдите в веб-клиент.
Откройте страницу Выберите адрес -> Создать адрес. Для открытия меню после первого входа необходимо ввести пароль, который вы вводили при регистрации аккаунта.
Выберите пункт Добавить адрес из ключевого хранилища ноды и нажмите кнопку Продолжить.
Заполните поля, указанные ниже. Необходимые значения приведены в файле
credentials.txt
для первой ноды в рабочей директории.
Имя адреса - укажите название ноды;
URL ноды - укажите значение
http://<сетевой адрес компьютера>/<адрес ноды>
;Тип авторизации на ноде - выберите тип авторизации, который вы настроили ранее: по JWT-токену или по
api-key
;Блокчейн-адрес - укажите адрес ноды;
Пароль от ключевой пары - укажите пароль от ключевой пары ноды, если задавали его при генерации аккаунта.
Описание клиента приведено на странице Клиент.