Aztec. Гайд по установке ноды
❗️У нас нет приваток, платных статей, рекламы или иных навязчивых способов заработка на аудитории. Поэтому рассчитываю на Вашу поддержку путем подписки на наш ТГ канал Bit.Future и Youtube 👍
Полезные ссылки:
- Официальный гайд
- Не официальный гайд от 0xmoei
- Discord Aztec
- Аренда VPS на XorekCloud, на VDSina
Подготовка кошельков и расходников
Ставить ноду мы будем ради 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 на AlchemyBEACON 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
sudo apt-get update && sudo apt-get 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
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
bash -i <(curl -s https://install.aztec.network)
далее соглашаемся (пишем Y) и видим процесс установки
Также соглашаемся на следующих шагах
aztec
Если все ок - будем следующее:
3. Update Aztec
aztec-up alpha-testnet
Если все ок - увидим следующее:
4. Открываем порты и активируем Firewall
- выписываем (сохраняем) IP адрес вашего VPS сервера. Его можно взять на VPS сервисе или через команду в терминале:
curl ipv4.icanhazip.com
ufw allow 22 ufw allow ssh ufw enable
ufw allow 40400 ufw allow 8080
5. Запускаем Sequencer Node
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.
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
- Переходим опять на Discord в ветку operators | start-here и пишем команду:
/operator start
- После ввода, сразу же появится 3 поля для заполнения:
address
: Ваш адрес EVM кошелькаblock-number
: Номер Блока для верификации из Step 1proof
: Ваш 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.