2 Конфигурирование Docker-образа
Для построения Testnet требуется сервер с операционной системой Ubuntu 16.04 и определенным набором библиотек. В случае отсутствия сервера с требуемой операционной системой следует воспользоваться сервером с операционной системой семейства Linux. Имеется возможность установки Testnet на такой сервер с помощью платформы Docker, обеспечивающий создание необходимого окружения, независимо от версии системы Linux.
Установка и функционирование Testnet на сервер под управлением каких-либо иных классов систем не поддерживается. Для установки Testnet на сервер с использованием платформы Docker необходимо выполнить следующие операции:
сконфигурировать Docker-образ в отдельном пространстве;
создать контейнеры с использованием Docker-образа. Контейнеры можно размещать как на локальном, так и на удаленном или виртуальном компьютере.
Конфигурирование Docker-образа
2.1 Создать репозиторий cyberway в отдельном пространстве
Открыть командное окно и войти в директорию cyberway
, в которой будет создан Docker-образ. Далее исполнить:
В пространство, из которого была исполнена команда, должен скопироваться каталог cyberway
с его содержимым. В процессе копирования не должны появляться сообщения об ошибках.
2.2 Создать отдельную директорию testnet
Местонахождение данной директории выбирается произвольно (здесь и далее используется директория ~/testnet
):
2.3 Скопировать файлы docker В созданную директорию ~/testnet
скопировать файлы docker-compose.yml
и образец конфигурационного файла config.ini
из репозитория Cyberway. Используемые для копирования команды:
2.4 Перейти в директорию ~/testnet Все остальные команды должны выполняться из этой директории.
2.5 Настроить конфигурацилнный файл
Настроить параметры в конфигурационном файле config.ini
.
2.5.1 Установить адрес БД состояния системы. Рекомендуемый адрес параметра chaindb_address
:
2.5.2 Установить адреса остальных узлов (нод) сети, к которым необходимо выполнить подключение, исполнив:
Параметр p2p-peer-address
настраивается отдельно для каждого подключаемого узла сети. Для подключения N узлов сети необходимо данный параметр указать N раз. Для корректного старта ноды и подключения к Testnet
(предоставленному разработчиками CyberWay) рекомендуется указать адрес 116.203.104.164:9876
.
2.5.3 Для приема входящих подключений от других узлов сети необходимо раскомментировать параметр p2p-listen-endpoint
и указать адрес сетевого интерфейса, на котором следует ожидать подключений, а также номер порта. Задание адреса интерфейса в виде 0.0.0.0
позволит сервису nodeosd
слушать подключения других узлов сети на всех доступных сетевых интерфейсах. Рекомендуемый адрес:
2.5.4 Если пользователь желает авторизоваться в качестве валидатора, необходимо дополнительно указать имя валидатора и ключи, которые будут использованы для подписания блоков.
По умолчанию параметр producer-name
закомментирован. В этом случае узел используется только для подключения к Testnet
без производства блоков. Для подключения к Testnet
с возможностью производить блоки необходимо дополнительно установить параметры producer-name
и signature-provider
.
Данные параметры может установить только валидатор, так как именно он располагает данными об имени аккаунта и ключах, которые необходимо использовать для создания блоков. Значения личного и публичного ключей валидатор должен сгенерировать самостоятельно (либо использовать ключи блокчейна Голос). Личный ключ валидатора используется для подписания блоков.
В следующей таблице приведен рекомендуемый перечень параметров конфигурационного файла, используемых для подключения узла к Testnet
, а также для настройки узла валидатора.
Переменная окружения | Подключение узла (ноды) к Testnet | Настройка узла валидатора |
producer-name | — | + |
signature-provider | — | + |
chaindb_address | + | + |
p2p-peer-address | + | + |
p2p-listen-endpoint | +/— | +/— |
2.6 Сформировать данные генезиса
2.6.1 В директорию ~/testnet
загрузить архивированный файл с содержимым генезиса и распаковать его, исполнив:
После выполнения этих команд в ~/testnet
должна появится директория genesis
, содержащая файлы genesis.dat
и genesis.dat.map
.
2.6.2 Переименовать директорию genesis
в genesis-data
, исполнив:
2.6.3 В директории ~/testnet/genesis-data создать файл genesis.json со следующим содержимым:
Last updated