February 24

Waku. Установка ноды. Гайд 2025

Подготовка к установке:

1/ Подготовить кошелёк Метамаск для запуска ноды (лучше отдельный, так как будем светить свой приватный ключ)

2/ Перевести/запросить в кране тестовый ETH на кошелёк, который полготовил для запуска ноды (нужно около 0,5 ЕТН). Я покупаю тестовые ЕТН тут, стоит копейки

3/ Создать RPC точку на сайте Infura в сети Etherium Sepolia

Установка ноды:

Поочерёдно ввести следующие команды:

1/ Обновление системы (использовать, если сервер новый. Если на сервере уже запущены ноды, команду не вводить!)

sudo apt update && sudo apt upgrade -y

2/ Установить Docker, если он не установлен на сервере

3/ Установить зависимости:

apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y


4/ Загрузить файлы ноды:

git clone https://github.com/waku-org/nwaku-compose.git
cd nwaku-compose
git checkout 32b3b917c7feb6016e7ea653e5c51d27bcf34972

5/ Создать конфигурационный файл и открыть его для редактирования:

cp .env.example .env
nano .env

В открывшемся окне редактируем данные (данные в скобках <> необходимо заменить на свои, сами скобки убрать):

ETH_CLIENT_ADDRESS=https:<https://...> # RPC Infura Sepolia ETH 
ETH_TESTNET_KEY=<YOUR_TESTNET_PRIVATE_KEY_HERE> # Приватный ключ кошелька где есть тестовые sepolia ETH 
RLN_RELAY_CRED_PASSWORD=<my_secure_keystore_password> # Придумай пароль

Сохраняем изменённый файл - нажимаем Ctrl+X, затем Y, затем Enter

6/ Меняем порты ноды (если нода будет единственной на сервере, то этот шаг можно пропустить. У меня стоит несколько нод на одном сервере, поэтому я меняю порты):

Ищем в дереве файлов файл docker-compose.yml (он находится по пути /root/nwaku-compose/) и открываем его в текстовом редакторе

Меняем порты так, как указано на скринах ниже:

После редактирования не забудь сохранить изменения в файле

7/ Регистрируем ноду:

./register_rln.sh

Если возникает ошибка, как на скрине ниже - не хватает тестового ETH на кошельке


После завершения команды проверь успешную регистрацию тут, введя номер кошелька, который используешь для ноды

8/ После проверки регистрации запускаем ноду:

docker compose up -d

9/ Смотрим логи:

docker compose logs nwaku --tail=50

Вот так выглядят здоровые логи ноды:

10/ Проверяем процесс синхронизации ноды в Grafana черз браузер. В адресной строке вводим:

а) если менялся порт по моему скриншоту выше в этом гайде:

http://localhost:3001/d/yns_4vFVk/nwaku-monitoring

б) Если порт не менялся:

http://localhost:3000/d/yns_4vFVk/nwaku-monitoring
Вместо localhost необходимо ввести IP адрес своего сервера, где запущена нода

Во время синхронизации ноды с сетью графана выглядит так:

После синхронизации с сетью в графане появятся данные:

11/ Проверяем статус ноды способом, который указан в официальной документации проекта (способ подходит для ежедневной проверки правильной работы ноды). Вводим команду:

cd
cd nwaku-compose
./chkhealth.sh

Во время синхронизации ноды ответ должен выглядеть так:

После того, как нода синхронизировалась с сетью, ответ должен выглядеть так:

12/ Сохраняем регистрационный ключ (необходим для повторного запуска ноды, переноса на другой сервер, и так далее. Сохранить обязательно!)

Ищем файл keystore.json в дереве файлов. Он находится по адресу /root/nwaku-compose/keystore/

Сохраняем содержимое файла в блокнот к себе в надёжное место!