Перейти к основному содержимому

Настройка узла HydraDX

В этом разделе вы познакомитесь с процессом настройки и запуска узла HydraDX.

warning

Для запуска узла валидатора требуется определенный набор технических навыков, необходимых для правильной настройки узла и обеспечения его работоспособности. Если вы не уверены в своих навыках в этой области, мы рекомендуем вам вместо установки собственного узла [назначить свой HDX(/start_nominating) опытному валидатору. Тем самым вы защищаете себя и своих номинантов от непреднамеренной потери средств.

00 Требуемые технические характеристики#

Для работы узла валидатора HydraDX требуются как минимум следующие технические характеристики:

  • ОС: Ubuntu 20.04
  • Процессор: Intel Core i7-7700K (или имеющий аналогичные характеристики одного ядра)
  • Память: 64 ГБ RAM
  • Хранилище: твердотельный накопитель NVMe емкостью не менее 200 ГБ (объем данных со временем будет расти)
note

Это минимальные технические требования, проверенные командой. Хотите убедиться, что на вашем компьютере достаточно ресурсов для запуска узла? Чтобы узнать это, запустите тест производительности.

01 Проверьте, синхронизированы ли ваши системные часы#

Перед запуском узла вы должны убедиться, что ваши системные часы синхронизированы - это важно, потому что валидаторы работают вместе. В Ubuntu 20.04 системные часы должны быть синхронизированы по умолчанию. Для проверки выполните следующую команду и проверьте вывод:

$ timedatectl | grep "System clock"
System clock synchronized: yes

Если результат отличается, вы можете установить NTP вручную и еще раз убедиться, что ваши системные часы синхронизированы:

$ apt install ntp
$ ntpq -p

02 Настройте параметры брандмауэра#

Порт 30333 используется для одноранговых соединений с другими узлами. Если вы запускаете узел в качестве валидатора, это единственный порт, который мы рекомендуем выставить в вашем брандмауэре.

Если вы не запускаете узел в качестве валидатора, вы также можете рассмотреть возможность открытия 9944 порта (для соединений RPC websocket с внешними приложениями) и 9933 порта (для HTTP-запросов к вашему узлу). Вы можете использовать порт 9944 для подключения к вашему узлу с помощью Polkadot/apps.

03 Загрузите или соберите бинарный файл#

Вы можете скачать бинарный файл с последними обновлениями с нашего github.

Кроме того, вы можете собрать бинарный файл из исходного кода:

# Установите зависимости
$ curl https://getsubstrate.io -sSf | bash -s -- --fast
# Получить исходный код последней стабильной версии
$ git clone https://github.com/galacticcouncil/HydraDX-node -b stable
# Соберите бинарный файл
$ cd HydraDX-node/
$ cargo build --release

Если вы создали бинарный файл, выполнив описанные выше шаги, путь к вашему файлу будет следующим:

target/release/hydra-dx

04 Запустите бинарный файл#

Вы можете запустить бинарный файл, выполнив следующую команду:

$ {PATH_TO_YOUR_BINARY} --chain lerna --name {YOUR_NODE_NAME} --validator
note

Узлам валидатора требуется база данных всей цепи. Если вы запускали узел раньше без флага --validator, вам нужно будет повторно синхронизировать базу данных, очистив цепочку перед запуском узла.

$ {PATH_TO_YOUR_BINARY} purge-chain --chain lerna

Помимо пути к вашему бинарному файлу (см. выше), вам необходимо указать имя узла, которое будет использоваться для идентификации вашего узла в Телеметрии, где вы можете найти список всех узлов, работающих на HydraDX Snakenet.

05 Запуск с systemd#

Чтобы убедиться, что ваш узел автоматически запускается при перезагрузке компьютера, мы рекомендуем запускать узел HydraDX как процесс systemd. Для этого создайте следующий файл и вставьте его содержимое, заменив переменные, обозначенные как {VARIABLE}:

$ touch /etc/systemd/system/hydradx-validator.service
[Unit]
Description=HydraDX validator
[Service]
Type=exec
User={UNIX_USER}
ExecStart={PATH_TO_YOUR_BINARY} --chain lerna --name {YOUR_NODE_NAME} --validator
Restart=always
RestartSec=120
[Install]
WantedBy=multi-user.target
note

Рекомендуется установить RestartSec, поскольку он задерживает перезапуск узла в случае сбоя. Это позволяет записывать на диск любые непостоянные данные (например, консенсусное голосование) до перезапуска узла. Перезапуск узла сразу после его сбоя может вызвать двусмысленность или двойное подписание, что в конечном итоге приведет к косой черте.

После создания файла конфигурации вы можете взаимодействовать с узлом валидатора HydraDX как системным процессом:

# Запустить узел при загрузке системы
$ systemctl enable hydradx-validator.service
# Запустить узел вручную
$ systemctl start hydradx-validator.service
# Проверить статус узла
$ systemctl status hydradx-validator.service
# Проверить логи узла
$ journalctl -f -u hydradx-validator.service

Теперь ваш узел HydraDX настроен и работает!

Теперь вы можете выполнить последние шаги, чтобы начать валидацию.