Установка и запуск платформы¶
На данный момент мы поддерживаем операционные системы на базе Unix (например, популярные дистрибутивы Linux или MacOS). Однако платформа Waves Enterprise может быть запущена и под Windows в экспериментальном режиме. Вы также можете использовать такие решения, как виртуальные машины с Unix подобной системой и среду Docker для установки и запуска платформы Waves Enterprise на операционной системе Windows.
Для установки платформы вам потребуется наличие установленных Docker Engine и Docker Compose в среде развертки.
В зависимости от целей установки вам могут потребоваться следующие файлы:
docker-compose.yml
– настроечный файл, используемый Docker Compose для запуска приложений в контейнерах.generators-Х.Х.Х.jar
- вспомогательная утилита, используемая в платформе Waves Enterprise для создания ключевых пар, API keys, подписания генезис блоков и других операций.
docker-compose.yml
и generators-Х.Х.Х.jar
вы можете скачать пройдя по ссылке.
Конфигурационные файлы для утилиты
generators-Х.Х.Х.jar
:accounts.conf
- конфигурационный файл для генерации аккаунтов;api-key-hash.conf
- конфигурационный файл для генерации значений полейapi-key-hash
иprivacy-api-key-hash
при выборе авторизации по хешу ключевой строкиapi-key
.
node.conf
- основной конфигурационный файл ноды, определяющий ее принципы работы и набор опций. Ниже приведены примеры конфигурационных файлов ноды:mainnet.conf
- для подключения к сети Mainnet;partnernet.conf
- для подключения к сети Partnernet.
Примеры конфигурационных файлов для утилиты generators-Х.Х.Х.jar
и node.conf
вы можете скачать на официальной странице платформы Waves Enterprise на GitHub.
Подробная информация о конфигурационных файлах приведена в разделе Подготовка конфигурационных файлов.
node.license
- лицензия на использование ноды, не является обязательной до высоты 30 000 блоков.
О способе получения node.license
можно узнать в разделе Получение лицензии.
Цель установки |
docker-compose.yml |
generators-X.X.X.jar |
node.conf |
node.license |
---|---|---|---|---|
Проверка возможностей платформы |
Требуется |
Не требуется |
Не требуется |
Не требуется |
Подключение ноды к сети Mainnet |
Требуется |
Требуется |
Требуется |
Требуется |
Подключение ноды к сети Partnernet |
Требуется |
Требуется |
Требуется |
Требуется |
Развёртывание платформы в режиме проверки возможностей (Sandbox)¶
Команда Waves Enterprise предлагает полностью автоматический режим развертывания для целей ознакомления с возможностями платформы. В этом режиме будет установлена блокчейн-сеть из трёх нод, а также дополнительные компоненты - сервис авторизации, сервис подготовки данных и корпоративный клиент. Все ключевые пары, используемые для подписания транзакций и блоков будут сгенерированы случайным образом.
В ознакомительном режиме вы можете взаимодействовать с блокчейном через клиентское приложение, либо REST/gRPC-интерфейсы ноды: отправлять транзакции, получать данные из блокчейна, устанавливать и вызывать смарт-контракты, а также передавать конфиденциальные данные между нодами.
Для установки платформы в режиме Sandbox откройте терминал и перейдите в директорию, содержащую файл
docker-compose.yml
, и выполните следующую команду:
docker run --rm -ti -v $(pwd):/config-manager/output wavesenterprise/config-manager:v1.2.0
В качестве последних трёх цифр укажите актуальную версию платформы.
Дождитесь результатов выполнения предыдущей команды и выполните следующую команду:
docker-compose up -d
Внимание
На ОС Linux для выполнения команд могут понадобиться права администратора (права root).
После запуска контейнеров клиентское приложение будет доступно по адресу http://localhost
, REST API ноды - http://localhost/node-0
. Теперь вы можете настроить платформу для отправки транзакций.
Для остановки запущенных нод и сервисов выполните следующую команду:
docker-compose down
Подключение одной ноды к сети Mainnet¶
По приведенной ниже инструкции можно подключить ноду к любой существующей сети.
Для подключения ноды к сети Mainnet вам потребуются следующие файлы: docker-compose.yml
, node.license
, node.conf
и ключевое хранилище в виде файла keystores.dat
.
Подсказка
Файл keystores.dat
создается при генерации адреса нового участника.
Скачайте файл docker-compose.yml.
Скачайте файл mainnet.conf, переименуйте его в
node.conf
и отредактируйте следующие параметры:
owner-address
,wallet.password
- адрес нового участника, от имени которого нода будет выполнять операции в блокчейне. Процесс генерации новой ключевой пары и файлаkeystores.dat
с помощью утилитыgenerators-Х.Х.Х.jar
описан в разделе Создание аккаунтов;node-name
- произвольное имя ноды;auth.api-key-hash
,auth.privacy-api-key-hash
- хеш от секретной фразы для получения доступа к REST API ноды. Процесс создания хешированной секретной фразы с помощью утилитыgenerators-Х.Х.Х.jar
описан в разделе Создание аккаунтов.
Создайте пустые файлы:
postgres.env
,node-0.env
,nginx-proxy.env
,frontend.env
,data-service.env
,crawler.env
,auth-service.env
.Откройте файл
my-node/env/node-0.env
, скопируйте текст приведенный ниже:
LOG_LEVEL=DEBUG
WE_NODE_OWNER_PASSWORD_EMPTY=false
WE_NODE_OWNER_PASSWORD= /FILL
JAVA_OPTS=-Dwe.check-resources=false
В поле
WE_NODE_OWNER_PASSWORD
вместо/FILL
введите пароль от ключевой пары, созданный при генерации адреса нового участника утилитойgenerators-Х.Х.Х.jar
.Разместите скаченные и созданные ранее файлы в соответствии со приведенной ниже структурой:
my-node (directory with any name)
|- configs (directory)
| |- nodes (directory)
| |- node-0 (directory)
| |- node.conf (file)
| |- keystores.dat (file)
| |- node.license (file, optional)
|- env (directory)
| |- postgres.env (file)
| |- node-0.env (file)
| |- nginx-proxy.env (file)
| |- frontend.env (file)
| |- data-service.env (file)
| |- crawler.env (file)
| |- auth-service.env (file)
|- docker-compose.yml (file)
Выполните команду для запуска ноды:
docker-compose up -d node-0
После запуска контейнера REST API ноды будет доступен по адресу http://localhost/node-0
.
Внимание
При наличии ошибок убедитесь, что не запущены другие конкурирующие контейнеры или программы. Для вывода списка запущенных контейнеров и их состояния введите командой docker ps -a
. Для остановки выбранного контейнера - командой docker stop [myContainer]
. Для остановки всех контейнеров вы можете ввести docker stop $(docker ps -a -q)
. Команда docker rm [myContainer]
удалит выбранный, docker rm $(docker ps -a -q)
удалит все контейнеры.
Для остановки запущенных нод и сервисов выполните следующую команду:
docker-compose down
Отправка транзакций из веб-клиента¶
После того, как блокчейн-платформа стартовала, выполните следующие действия:
Откройте браузер и введите в адресную строку значение
http://localhost
.Зарегистрируйтесь в веб-клиенте, используя любой действительный электронный адрес, и зайдите в веб-клиент.
Откройте страницу
Выберите адрес -> Добавить адрес вручную
.Заполните поля, указанные ниже. Значения вы можете взять из конфигурационного файла
accounts.conf
для первой ноды в каталогеnodes/node-0
.Сетевой адрес ноды - укажите значение
http://localhost/nodeAddress
.Адрес - укажите адрес ноды. См. поле
Address
, отмеченное на картинке ниже.Пароль от ключевой пары - укажите пароль от ключевой пары ноды. См. поле
Key-pair password
, отмеченное на картинке ниже.

Теперь можно отправлять транзакции из веб-клиента от адреса ноды, на котором есть токены.