August 7, 2025

Big guide for aztec-node

Для своего гайда использую полную ноду ethereum-sepolia, чтобы не страдать на бесплатных RPC, не менять их по окончанию кредитов API для RPC, так же на свою sepolia-node можно вешать несколько нод aztec.

Ethereum Sepolia Node Setup (Geth + Prysm)

Geth = Execution (Sepolia)
Prysm = Consensus (Beacon)

Разверни полноценный узел Ethereum Sepolia Execution + Consensus в один клик с помощью Docker и docker-compose.

Рекомендованные системные требования:

Обновление системы:

sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y && sudo apt install git -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

Запуск в одну строку на свежей системе:

bash <(curl -s https://raw.githubusercontent.com/xB0unty911/working/refs/heads/main/setup-sepolia.sh)

Логи после полной синхронизации:

Время сихронизации

После развертывания дождитесь полной синхронизации вашего узла.
Расчетное время: 2–5 часов в зависимости от сети и скорости диска.

Проверка синхронизации узлов

Execution Node (Geth)

Выполни следующую команду:

curl -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' \
http://localhost:8545
  • При полной синхронизации:
{"jsonrpc":"2.0","id":1,"result":false}
  • Если синхронизация все еще продолжается:
{
  "jsonrpc":"2.0",
  "id":1,
  "result":{
    "startingBlock":"0x0",
    "currentBlock":"0x1a2b3c",
    "highestBlock":"0x1a2b4d"
  }
}

Beacon Node (Prysm)

Проверка статуса синхронизации с помощью:

curl http://localhost:3500/eth/v1/node/syncing
  • При полной синхронизации:
{
  "data": {
    "head_slot": "12345",
    "sync_distance": "0",
    "is_syncing": false
  }
}
  • Если синхронизация все еще продолжается:
{
  "data": {
    "head_slot": "12345",
    "sync_distance": "100",
    "is_syncing": true
  }
}

Если is_syncing имеет значение true, ваш beacon node всё ещё догоняет.
sync_distance показывает, на сколько слотов он отстаёт.

Получение RPC Endpoints

⚙️ Execution Node (Geth)

Geth предоставляет свой HTTP RPC-интерфейс на порту 8545. Вы можете использовать его для взаимодействия с уровнем исполнения Ethereum.

Beacon Node (Prysm)

Prysm предоставляет свой HTTP-интерфейс на порту 3500. Он используется для взаимодействий на основе консенсуса (beacon chain).

  • Внутри твоей системы
    http://localhost:3500
  • Aztec Sequencer Consensus RPC
    • Если используешь CLI: http://<your-vps-ip>:3500
    • Если используешь docker-compose: http://127.0.0.1:3500 или http://localhost:3500

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

Aztec-sequencer

Для корректной работы узлов необходим sETH. Его можно получить либо с крана, либо намайнить на процессоре.

https://sepolia-faucet.pk910.de/

https://www.alchemy.com/dapps/alternatives/sepolia-faucet

Пошаговое руководство по запуску узла секвенсора в тестовой сети Aztec Network.

  • Какие типы узлов могут участвовать в тестовой сети?
    • Sequencer: предлагает блоки, проверяет блоки, предложенные другими, и голосует за обновления.
    • Prover: генерирует доказательства ZK, которые подтверждают целостность свертки.

Рекомендованные системные требования:

  • Docker and Docker Compose
  • Публичный IP адрес
  • Открытые порты: 40400 (TCP/UDP), 8080 (TCP)

Запуск в одну строку:

bash <(curl -s https://raw.githubusercontent.com/xB0unty911/working/refs/heads/main/aztec.sh)

Полностью нодой можно управлять скриптом

Регистрация валидатора

Прежде чем продолжить регистрацию в Validator, убедитесь, что ваш узел Sequencer полностью синхронизирован.

Официальная регистрация валидатора: ZKPassport

  • Посети: https://testnet.aztec.network/add-validator
  • Пройдите проверку личности ZKPassport
  • Следуйте инструкциям по подключению кошелька валидатора и регистрации валидатора в сети.
  • После конкурса вы попадете в очередь регистрации валидатора и получите роль Explorer в Discord.

Aztec dashboard

  • Посети Dashboard
  • Проверьте работоспособность ваших валидаторов
  • Подключите X и Discord

Aztec-prover

Рекомендованные системные требования:

CPU 64 Cores

RAM 256 GB+

DISK 1TB+ SSD

Установка Aztec-tools

bash -i <(curl -s https://install.aztec.network)

echo 'export PATH="$HOME/.aztec/bin:$PATH"' >> ~/.bashrc

source ~/.bashrc

Проверьте, успешно ли вы установили, запустите:

aztec -V

Run Prover Node

Создай директорию и перейди в нее:

mkdir prover && cd prover

Создай .env файл:

nano .env

Копируй это в .env и заполни свои данные:

P2P_IP=Your_VPS_IP
ETHEREUM_HOSTS=Your_Execution_Layer_RPC_Endpoint
L1_CONSENSUS_HOST_URLS=Your_Consensus_Layer_RPC_Endpoint
PROVER_PUBLISHER_PRIVATE_KEY=0xYourPrivatekey
PROVER_ID=0xYourAddress

Сохрани всё.

Создай Docker Compose:

nano docker-compose.yml

Скопируй это в docker-compose.yml:

name: aztec-prover
services:
  prover-node:
    image: aztecprotocol/aztec:latest
    command:
      - node
      - --no-warnings
      - /usr/src/yarn-project/aztec/dest/bin/index.js
      - start
      - --prover-node
      - --archiver
      - --network
      - alpha-testnet
    depends_on:
      broker:
        condition: service_started
        required: true
    environment:
      # PROVER_COORDINATION_NODE_URL: " " # Optional, this can point to your own validator - or just simply ignore this
      P2P_ENABLED: "true"
      DATA_DIRECTORY: /data-prover
      P2P_IP: ${P2P_IP}
      DATA_STORE_MAP_SIZE_KB: "134217728"
      ETHEREUM_HOSTS: ${ETHEREUM_HOSTS}
      L1_CONSENSUS_HOST_URLS: ${L1_CONSENSUS_HOST_URLS}
      LOG_LEVEL: info
      PROVER_BROKER_HOST: http://broker:8080
      PROVER_PUBLISHER_PRIVATE_KEY: ${PROVER_PUBLISHER_PRIVATE_KEY}
    ports:
      - "8080:8080"
      - "40400:40400"
      - "40400:40400/udp"
    volumes:
      - ./data-prover:/data-prover
    entrypoint: >
      sh -c 'node --no-warnings /usr/src/yarn-project/aztec/dest/bin/index.js start --network alpha-testnet --archiver --prover-node'

  agent:
    image: aztecprotocol/aztec:latest
    command:
      - node
      - --no-warnings
      - /usr/src/yarn-project/aztec/dest/bin/index.js
      - start
      - --prover-agent
      - --network
      - alpha-testnet
    entrypoint: >
      sh -c 'node --no-warnings /usr/src/yarn-project/aztec/dest/bin/index.js start --network alpha-testnet --prover-agent'
    environment:
      PROVER_AGENT_COUNT: "3"
      PROVER_AGENT_POLL_INTERVAL_MS: "10000"
      PROVER_BROKER_HOST: http://broker:8080
      PROVER_ID: ${PROVER_ID}
    pull_policy: always
    restart: unless-stopped
    volumes:
      - ./data-prover:/data-prover

  broker:
    image: aztecprotocol/aztec:latest
    command:
      - node
      - --no-warnings
      - /usr/src/yarn-project/aztec/dest/bin/index.js
      - start
      - --prover-broker
      - --network
      - alpha-testnet
    environment:
      DATA_DIRECTORY: /data-broker
      LOG_LEVEL: info
      ETHEREUM_HOSTS: ${ETHEREUM_HOSTS}
      P2P_IP: ${P2P_IP}
    volumes:
      - ./data-broker:/data-broker
    entrypoint: >
      sh -c 'node --no-warnings /usr/src/yarn-project/aztec/dest/bin/index.js start --network alpha-testnet --prover-broker'

Сохрани всё.

  • После, запусти Node Docker

docker compose up -d

  • Смотри статус контейнеров

docker ps

  • Остановка и удаление контейнера (выполняется из директории prover)

docker compose down -v

  • Рестарт

docker compose down -v && docker compose up -d

Также вы можете проверить свой адрес Prover на Sepolia Etherscan.

Вставь свой Prover адрес: https://sepolia.etherscan.io

Дашбор для проверки транзакций:

https://dune.com/rhum/aztec-nb-proofs-tx-new-rollup