Запуск ноды

В качестве ОС рекомендуется использовать Ubuntu 20.04

Настройка окружения:

sudo apt-get update
curl https://getsubstrate.io -sSf | bash -s -- --fast
source ~/.cargo/env

Клонируем репозиторий и собираем ноду:

git clone https://github.com/galacticcouncil/HydraDX-node.git
cd HydraDX-node
cargo build --release

Если вы получили ошибку, что в вашей системе не установлен git, устанавливаем:

sudo apt install git

Для запуска бенчмарка понадобится Python 3.8+

Установка Python 3.9:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.9

Если при установке через apt возникли проблемы - можете собрать python3.9 из исходников по гайду.

Если у вас установлены разные версии Python и бенчмарк по-умолчанию запускается на старой, можно указать какую версию использовать для его запуска:

sed -i "s|python3 |python3.9 |g " ./scripts/check_performance.sh

Запускаем бенчмарк:

./scripts/check_performance.sh

Если получили ошибку Toolchain ...... Nightly toolchain required выполните:

git fetch
git checkout bench-perf-update
./scripts/init.sh
rustup default nightly
./scripts/check_performance.sh

После нескольких минут ожидания получим результат, например:

HydraDX Node Performance check ...
Running benchmarks - this may take a while...
Results:
Pallet | Time comparison (µs) | diff* |
amm | 1033.00 vs 875.70 | 157 | OK
exchange | 945.00 vs 790.80 | 154 | OK
transaction_multi_payment| 280.00 vs 233.76 | 46 | OK

Если все 3 результата ОК - ваш сервер успешно прошел тест и готов к запуску ноды.

На этом этапе можно остановиться до момента пока команда HydraDX не опубликует информацию о грядущем тестнете.

В качестве теста можно запустить stakenet ноду в цепи lerna

Для удобства можно использовать tmux или systemd

./target/release/hydra-dx --chain lerna

Если вы хотите задать имя для вашей ноды (по умолчанию генерируется случайное при каждом запуске), используйте ключ --name

./target/release/hydra-dx --chain lerna --name "ИМЯ_НОДЫ #NodeBook"

мне будет приятно, если укажете хэштег #NodeBook в имени ноды :)

Список нод в сети можно посмотреть здесь.

Если после запуска нода ведет себя "странно", можно перезапустить ее с отображением логов, чтобы выявить проблемы:

RUST_LOG=debug RUST_BACKTRACE=1 ./target/release/hydra-dx -lruntime=debug --chain lerna