May 3

Aztec. Гайд по установке ноды

❗️У нас нет приваток, платных статей, рекламы или иных навязчивых способов заработка на аудитории. Поэтому рассчитываю на Вашу поддержку путем подписки на наш ТГ канал Bit.Future и Youtube 👍

Полезные ссылки:

Подготовка кошельков и расходников

Ставить ноду мы будем ради Apprentice role о которой указано в Discord-ветке операторов

1. Подготовка VPS сервера

Мы будем ставить Sequencer Node для которой требования следующие:

Пока ключевой вопрос в SSD: в офф гайде просят 1+ Tb NVMe SSD, но в неофициальном и по факту достаточно 100+ Gb SSD. Поэтому пока можно начать с более дешевых вариантов.


Будем брать сервер на Хорьке, в качестве альтернативы может быть VDSina. На следующем шаге заказа выбираем OS: Ubuntu 20.04

Если вы решите ставить ноду на свой ПК с Windows, то можете воспользоваться гайдом, как поставить Ubuntu (linux) на Windows.

2. Подготовка RPC

Нам потребуются API ключи от Sepolia RPC URL и Sepolia BEACON URL.

Для этого есть бесплатные и платные сервисы:

БЕСПЛАТНО:

  • RPC URL: Регистрируемся и создаем Sepolia Ethereum HTTP API на Alchemy
  • BEACON RPC: Создаем аккаунт на drpc и ищемSepolia Ethereum Beacon Chain Endpoints.

ПЛАТНО (я рекомендую этот вариант):

  • RPC URL и BEACON RPC: оба берем на сервисе Ankr.
    Оплатите $10 в USDT/USDC - этого хватит на ~500k запросов к RPC

В разделе Projects создаете новый проект, выбираете сеть Ethereum и выписываем BEACON RPC и RPC URL

3. Готовим EVM кошелек

  • Тут нам потребуется обычный EVM кошелек, сохраните Public Key (адрес) и Private Key от него
  • Положите на кошелек немного тестовых ETH в сети Sepolia. Просто наберите в Google-поиске eth sepolia faucet и воспользуйтесь любым удобным краном.
    Также можете на любой OTC площадке по слову Sepolia найти продавцов тестовых ЕТН. Я купил сразу 25 ЕТН у @efiop (ник в ТГ) за $10 (по $0,4 за 1 ЕТН). Потому этот ЕТН можно раскидать на кошельки для других нод и т.п. Можете сказать что от Romanson, хз сделает скидку или нет. Это просто рандомный продавец с OTC ICOBOG

4. Устанавливаем MobaXTerm терминал

Для работы с VPS серверами я предпочитаю терминал MobaXterm. Скачивайте и запускайте.

После запуска создаем Session, выбираем формат через SSH, вводим выданный нам IP адрес, логин (username), нажимаем ОК и на следующем шаге вводим пароль.

После ввода пароля, рабочая область будет выглядеть следующим образом:

Установка

1. Install Dependecies

  • Update packages, для это пишем команду
sudo apt-get update && sudo apt-get upgrade -y
  • Install новые Packages, для это пишем команду
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

  • Устанавливаем 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

На одном для установки потребуется немного дискового пространства - соглашаемся:

Тестируем корректность установки Docker:

sudo docker run hello-world

sudo systemctl enable docker
sudo systemctl restart docker

Если успешно, то появится следующее сообщение:

2. Install Aztec Tools

  • Устанавливаем Aztec библиотеки, для этого пишем:
bash -i <(curl -s https://install.aztec.network)

далее соглашаемся (пишем Y) и видим процесс установки

Также соглашаемся на следующих шагах

  • После установки перезапускаем MobaxTerm терминал
  • Проверям, что все библиотеки Aztec установились:
aztec

Если все ок - будем следующее:

3. Update Aztec

  • Обновляемся до последней версии Aztec (запустится процесс установки):
aztec-up alpha-testnet

Если все ок - увидим следующее:

4. Открываем порты и активируем Firewall

  • выписываем (сохраняем) IP адрес вашего VPS сервера. Его можно взять на VPS сервисе или через команду в терминале:
curl ipv4.icanhazip.com
  • Активируем Firewall
    поочереди пишем команды и соглашаемся с установкой, когда спросят
ufw allow 22
ufw allow ssh
ufw enable

Увидим следующее:

  • Открываем порты
    поочереди пишем команды
ufw allow 40400
ufw allow 8080

Увидим следующее:

5. Запускаем Sequencer Node

  • Запускаем Screen:
screen -S aztec
  • Запускаем ноду, для этого поочереди пишем команды:
aztec start --node --archiver --sequencer \
  --network alpha-testnet \
  --l1-rpc-urls RPC_URL  \
  --l1-consensus-host-urls BEACON_URL \
  --sequencer.validatorPrivateKey 0xYourPrivateKey \
  --sequencer.coinbase 0xYourAddress \
  --p2p.p2pIp IP
  --p2p.maxTxPoolSize 1000000000


ВАЖНО: в строчках кода выше, замените данные на ваши:

  • RPC_URL & BEACON_URL: укажите ваши из Шага 2 "Подготовка кошельков и исходников"
  • 0xYourPrivateKey: Ваш Private Key от EVM кошелька
  • 0xYourAddress: Ваш публичный адрес EVM кошелька
  • IP: Ваш IP адрес

После ввода запустится процесс установки ноды. Подождите минуты 3-5 для синхронизации. Вы увидите процесс создания блоков:

\

Выходим из Screen сессии, для это нажимаем комбинацию клавиш: Ctrl + A и затем продолжая держать Ctrl отпускаем А и нажимаем D.

Дополнительные команды:

screen -ls - посмотреть активные Screen-сессии

screen -r aztec - вернуться на Screen-сессию aztec

6. Регистрируем ноду в Discord

Инструкция по регистрации ноду доступна в ветке operators | start-here

Если в этой ветке набрать команду /operator help , то мы увидим инструкцию по регистрации, которую далее разберем

Step 1: Get the latest proven block number: В терминале вводим поочередно (по строчно) команды:

curl -s -X POST -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"node_getL2Tips","params":[],"id":67}' \
http://localhost:8080 | jq -r ".result.proven.number"

Выйдет результат с Номером Блока, например 21763 как у меня:

Step 2: Generate your sync proof Вводим поочередно (по строчно) команды:

curl -s -X POST -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"node_getArchiveSiblingPath","params":["BLOCK_NUMBER","BLOCK_NUMBER"],"id":67}' \
http://localhost:8080 | jq -r ".result"

ВАЖНО: предварительно замените в двух местах в коде BLOCK_NUMBER вашим Номером Блока из Step 1

В терминале у вас будет примерно такая картина:

Выделите мышкой вышеотмеченную строчку коду (она скопируется в буфер обмена) и сохраните. Это будет ваш proof

Step 3: Register with Discord

  • Переходим опять на Discord в ветку operators | start-here и пишем команду: /operator start
  • После ввода, сразу же появится 3 поля для заполнения:
  • address: Ваш адрес EVM кошелька
  • block-number: Номер Блока для верификации из Step 1
  • proof: Ваш proof из Step 2

Если все удачно, то увидите сообщение от бота, что вам присвоена роль Apprentice

7. Регистрируем Валидатора

Возвращаемся в Терминал и пишем поочереди команды:

aztec add-l1-validator \
  --l1-rpc-urls RPC_URL \
  --private-key your-private-key \
  --attester your-validator-address \
  --proposer-eoa your-validator-address \
  --staking-asset-handler 0xF739D03e98e23A7B65940848aBA8921fF3bAc4b2 \
  --l1-chain-id 11155111

ВАЖНО: предварительно замените:
RPC_URL - на вашу RPC URL
your-private-key - на ваш Private Key от EVM кошелька (ноды)
your-validator-address (в двух местах) - на ваш EVM адрес кошелька (ноды)


Скорее всего сразу зарегистрировать Валидатора не удастся и возникнут следующие логи:

В офф гайде сказано, что сейчас новых валидаторов добавляют партиями. Каждый день (без точного времени) открывается по несколько мест для новых валидаторов

Проверить статус Валидатора можно также в Discord в ветке operators | start-here и пишем команду: /operator my-stats

потребуется ввести адрес ноды.

Во сколько открываются новые слоты - не известно, поэтому если в терминале вы получили логи как на скрине выше, то просто пробуйте позже.

А вот если у вас другие ошибки, например:

Error: ERROR: world-state:block_stream Error processing block stream: Error: Obtained L1 to L2 messages failed to be hashed to the block inHash

то
- можно остановить ноду, вернувшись на Screen-сессию aztec и нажав сочетание клавиш CTRL+C

- Затем удаляем всю node-data:

rm -r /root/.aztec/alpha-testnet

- перезапускаем ноду с шага "5. Запускаем Sequencer Node"

Самое главное - мы получили роль в Дискорде и запустили ноду. Зарегистрировать валидатора можно и позже, когда расширят лимиты на прием.

8. Обновляем роль до Guardian [от 09.05.2025]

Если наша нода успешно работает и обрабатывает блоки, то можно обновить свою роль в Discord до Guardian.

Переходим в Discord в ветку #upgrade-role и пишем команду: /checkip и вписываем IP адрес своей ноды

Разработчики будут периодически делать снепшот работающих нод. Т.е. ваша нода должна успешно работать на дату очередного снепшота.
Есть вероятность, что с бесплатными RPC ваша нода не будет успевать ловить блоки, поэтому для успешного получения роли рекомендуется переключиться на платные.

Анонс о снепшоте делают в вертке #Apprentice | announcements.