Установка ноды Aztec (Sequencer Node)
Требования к серверу:
- 8 CPU
- 16 GB RAM (Можно использовать 6-8 RAM добавив недостающую память через файл подкачки)
- 100 GB Свободного места
- Порты: 8080, 40400, 40500
- Подходящий сервер LC-5 сервер за 1040 ₽ / месяц.
Я буду использовать тот же сервер LC-5 на который ставил ноду Spheron из прошлого гайда, так как Spheron нода почти не потребляет ресурсы на сервере.
Минимальные требования:
Вы можете запустить Aztec ноду на более слабом сервере, например 4 CPU, 8 GB RAM и 80 GB свободного места, но чем дольше нода будет работать, тем больше вероятность, что ресурсов не будет хватать. Поэтому на свой страх и риск, с пониманием, что в дальнейшем возможно придётся переносить ноду на более мощный сервер.
Внимание у хостера PLAY2GO - появился промокод SNGDAO для подписчиков канала. Промокод дает +5% к сумме вашего пополнения🔥
Содержание гайда:
Подготовка
Установка
Решение проблем
Удаление ноды
Подготовка:
1) Для установки Aztec ноды нужно иметь на кошельке тестовый эфир в сети Sepolia ETH. Рекоменду от 2.5- 3 ETH.
Как получить тестовый эфир смотрите в гайде на канале.
2) Подготовить ссылку на RPC Sepolia ETH. Используем либо паблик, например https://1rpc.io/sepolia Но лучше всего использовать свою ссылку на RPC в Alchemy
3) Так же нужна ссылка Beacon_URL либо используем паблик, будет ниже в гайде. Либо создаем свою бесплатно в dRPC. Add Key>Create> и берем ссылку на Ethereum Beacon Chain
Еще варианты для создания своей ссылки RPC
https://www.allnodes.com
http://chainstack.com
4) Так же для установки ноды нужен Docker.
Проверяем установлен ли он на вашем сервере, командой:
docker --version
Если докер установлен, переходим к следующему пункту Установка ноды.
Если Dockera нет, то ставим.
2.1 Установка docker, копируем целиком и запускаем на сервере:
sudo apt update -y && sudo apt upgrade -y for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update -y && sudo apt upgrade -y sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # Test Docker sudo docker run hello-world
Установка ноды:
1) Выполняем проверку и установку обновлений: sudo apt update && sudo apt upgrade -y
sudo apt install curl iptables build-essential git wget lz4 jq make gcc nano automake autoconf tmux htop nvme-cli libgbm1 pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y
Если спрашивает о перезагрузке, как обычно, выбираем пункт: none of the above
bash -i <(curl -s https://install.aztec.network)
echo 'export PATH="$HOME/.aztec/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
aztec --version
aztec-up alpha-testnet
7) Включаем файрволл и открываем порты:
sudo ufw allow ssh sudo ufw enable sudo ufw allow 40400 sudo ufw allow 40500 sudo ufw allow 8080
Если пишет, что команда не найдена, то ставим службу файрволла sudo apt install ufw и после этого открываем порты командой выше.
screen -S aztec
9) Запускаем ноду изменив данные на свои:
Вместо RPC_URL мы вставляем ссылку на Sepolia RPC. Паблик RPC, например https://1rpc.io/sepolia
Вместо Beacon_URL указываем https://rpc.drpc.org/eth/sepolia/beacon или https://lodestar-sepolia.chainsafe.io
ВАШ_ПРИВАТНИК меняем на приватный ключ кошелька
ВАШ_АДРЕСС на публичный адрес кошелька
ВАШ_IP на IP сервера, где будет стоять нода.
aztec start --node --archiver --sequencer \ --network alpha-testnet \ --l1-rpc-urls RPC_URL \ --l1-consensus-host-urls BEACON_URL \ --sequencer.validatorPrivateKey ВАШ_ПРИВАТНИК \ --sequencer.coinbase ВАШ_АДРЕСС \ --p2p.p2pIp ВАШ_IP --p2p.maxTxPoolSize 1000000000
После того как вы введете эту команду, ваша нода начнет работать. Может понадобится несколько часов для синхронизации ноды(в зависимости от мощности сервера)
Можете свернуть ноду с помощью CTRL+A+D
Полезные команды:
screen -r -d aztec
Закрыть логи и оставить ноду работать: нажать CTRL+A+D
Остановить ноду: нажать CTRL+C
Как понять, что нода синхронизировалась?
Переходите в Aztecscan
и смотрите номера последних блоков. Те же номера должны быть у вас в логах ноды
Решение проблем:
1) Останавливаем ноду с помощью CTRL+C
rm -rf ~/.aztec/alpha-testnet/data/
aztec-up alpha-testnet
4) Перезапускаем ноду, заменив на свои данные. Важно, чтобы BEACON_URL был не паблик, а созданная для вас уникальная ссылка из любого сервиса из раздела Подготовка.
aztec start --node --archiver --sequencer \ --network alpha-testnet \ --l1-rpc-urls RPC_URL \ --l1-consensus-host-urls BEACON_URL \ --sequencer.validatorPrivateKey ВАШ_ПРИВАТНИК \ --sequencer.coinbase ВАШ_АДРЕСС \ --p2p.p2pIp ВАШ_IP --p2p.maxTxPoolSize 1000000000
Удаление ноды
rm -r /root/.aztec
Проверяем какой процесс использует это порт:
sudo ss -tulpn | grep 8080
Например нам показало LISTEN 0 128 0.0.0.0:0380 0.0.0.0:* users:(("nginx",pid=1234,fd=6))
sudo kill -9 1234