Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

596 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aztec - cкрипт установки и мониторинга ноды (mainnet и testnet)

Описание на:

Bash Docker Telegram

Первый экран

📝 Описание

Этот скрипт предоставляет комплексное решение для запуска (docker-compose или CLI) и мониторинга ноды Aztec, включая автоматическое обновление, проверку статуса контейнера, синхронизации блоков, получения важной информации о ноде, а также отправку уведомлений в Telegram.

Также ознакомьтесь с Историей версий под спойлером, там много полезной информации о функциях скрипта.

🌟 Основные возможности

  • 🐳 Мониторинг работы ноды Aztec
  • 🏃🏻‍ Запуск ноды (docker-compose или CLI)
  • 🔗 Проверка актуальности блоков (сравнение с контрактом)
  • 🔍 Поиск ключевых параметров в логах
  • 📨 Telegram-уведомления о проблемах и активности валидатора
  • ⏰ systemd сервис для автоматического мониторинга

🛠️ Функционал

Функция Описание
Контейнер Мониторинг состояния Docker-контейнера
🔄 Блоки Сравнение локальных блоков с блокчейном
🤖 Telegram Мгновенные уведомления о проблемах и статитике по слотам
🌐 Языки Поддержка языков Английский/Русский/Турецкий
⚙️ RPC Гибкая настройка RPC подключения

📌 Последние обновления 15-07-2026

⚠️ Обновите ноду до Aztec v5 (образ 5.0.0+), пересоберите docker-compose без --archiver. Удалите старый агент мониторинга (опция 10) и установите нового (опция 9).

  • Совместимость с протоколом Aztec v5 (AZUP-2)
  • Mainnet rollup: 0x91ff8bbd8ebb07893010d50a48a1609e5ebd8e34
  • Testnet rollup: 0xfe6061806cac748085904a010d2d9e33b8031741
  • Tip сети: getPendingCheckpointNumber(); событие CheckpointProposed (topic0 0x6ff492bf…)
  • Декодер propose() v5 (0x72636df9) для L1 committee в агенте
  • Установка ноды: образ 5.0.0, без --archiver, GOVERNANCE_PROPOSER_PAYLOAD_ADDRESS, ETHEREUM_DEBUG_HOSTS
  • JSON-RPC: aztec_getChainTips / aztec_* с fallback на legacy node_*
  • Approve через getStakingAsset(); Claim без isRewardsClaimable (нет в ABI v5), подпись gas-ключом
  • В агенте: сначала getEpochForCheckpoint, fallback getEpochForBlock
  • Новый интерфейс меню: категории вместо одного длинного списка; часть опций перенумерована (см. раздел «Использование»)
    • / — навигация, Enter — выбор
    • номер опции 0–27 + Enter — быстрый переход (из экрана категорий или подменю)
    • в подменю: пункт «← Назад к категориям»
    • строка статуса: версия скрипта, сеть, RPC

version_control.json

SHA256: e4f7e348fcf8ba5e3d8ab02e62b4289821924c54f377841dfecfbf1d160bfd28

error_definitions.json

SHA256: 079226a9bcc4d4225966d4472ef74b2882a7381cc3a4235b8bd3a7c32e11752e

📅 История версий

01-04-2026

  • Исправлена сигнатура TOPIC0 события CheckpointProposed для мейннет. Неверное значение приводило к тому, что проверка L1 не работала

30-03-2026

  • Обновлен mainnet rollup-контракт 0xae2001f7e21d5ecabf6234e9fdd1e76f50f74962
  • Добавлена Опция 27 для поиска и вывода ADMIN API KEY
  • Добавлена зависимость Node.js ≥24.12.0 и установка с согласия пользователя
  • Обновлена Опция 11 — установка Aztec ноды
    • Актуализирована логика работы с обновленным нативным скриптом установки бинарных файлов Aztec
    • Исправлена команда запуска web3signer (корректно устанавливается chain id для mainnet/testnet)

24-03-2026

  • Блок L1 inclusion / Committee в Telegram: проверка включения транзакций валидатора в L1, заголовки и подписи слотов (нода и L1), легенда статусов по calldata rollup.
    • Зависимости для проверки в L1: проверка/установка Python-пакета eth_abi; установка pip-зависимостей через pip3_or_pym / pip3_or_pym_available (fallback на python3 -m pip).
    • aztec_l1_extract_signers.py - декордер calldata для L1 для скрипта агента мониторинга, создается автоматически при установке мониторинга
  • Добавлены опции 25 и 26: добавление и удаление валидаторов без полной переустановки ноды — keystore, YAML-ключи в $HOME/aztec/keys, VALIDATORS в ~/.env-aztec-agent, бэкап keystore, перезапуск web3signer и docker compose.
    • Для опции 25: ввод новых валидаторов с учётом BLS как у существующего keystore, лимит 10 валидаторов, проверка дубликатов, feeRecipient/coinbase (по умолчанию с первого валидатора), нормализация Ethereum-адресов в lowercase, вопрос про текущий publisher из keystore для всех новых или отдельный publisher на каждого.
    • Для опции 26: нумерованный список attester-адресов, удаление по номерам через запятую, запрет снести единственного валидатора, перенумерация validator_1.yml … после удаления, вычитание адресов из VALIDATORS.
  • Переводы новых и затронутых строк на английский, русский и турецкий (меню 25–26, L1/committee, eth_abi, правки формата валидаторов и пр.).
  • Контракт rollup: вместо одной неиспользуемой сигнатуры — FUNCTION_SIG_BLOCK и FUNCTION_SIG_CHECKPOINT в cast-вызовах и в сгенерированном агенте (check_blocks).
  • Установка ноды: публичные BLS-ключи убраны из логики установки. Приватные BLS-ключи используются напрямую в keystore.json (согласно официальной документации). Убрана генерация отдельных bls_validator_*.yml; BLS остаётся в keystore; формат multi-validator без поля public BLS, строка ввода public BLS убрана.

08-03-2026

  • Обновлён адрес роллап-контракта в тестовой сети: 0xf6D0D42aCE06829bECB78C74F49879528fC632c1.

⚠️ ТОЛЬКО ДЛЯ ТЕСТОВОЙ СЕТИ — После обновления скрипта используйте опцию даунгрейда для обновления ноды до версии 4.1.0-rc.2 в 20:30 UTC (7 марта) и в течение 24 ч после этого. Удалите старый агент мониторинга (опция 3) и создайте нового агента (опция 2).

07-03-2026

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

03-03-2026

  • Обновление роллап контракта для тестовой ноды. Обновите тестовую ноду до версии 4.0.3 чтобы не получить слешинг!
  • Обновлен json-файл критических ошибок, версия 1.0.1
  • Обновлен файл инструкции Aztec-Install-by-Script.md

26-02-2026

  • Совместимость двух сигнатур контракта: при получении блока из rollup используется fallback — сначала getPendingBlockNumber() (текущий mainnet), при неудаче getPendingCheckpointNumber() (новый контракт / testnet).

06-02-2026

  • В меню BLS (опция 18) добавлена новая подопция 4: генерация keystore для дашборда стейкинга Aztec— создаются файлы с префиксом dashboard_ в $HOME/aztec/ (приватный keystore и staker_output для staking dashboard), поддерживается новая мнемоника или ввод своей сид-фразы.
  • Незначительные улучшения.

05-02-2026

⚠️ ДЛЯ ТЕСТНЕТА - После обновления скрипта убедитесь, что установлена версия ноды не менее 3.0.3. Если версия более ранняя, то используйте опцию дайнгрейда для установки версии ноды 3.0.3! Удалите старый агент мониторинга (опция 3) и создайте нового агента (опция 2).

  • Поддержка новой тестовой сети

11-01-2026

  • Обновлена функция даунгрейда ноды (опция 16). Теперь отображаются только latest и все стабильные версии.

25-12-2025

⚠️ После обновления скрипта удалите старый агент мониторинга (опция 3) и создайте нового агента (опция 2).

  • Удаление дублей переводов

20-12-2025

⚠️ После обновления скрипта удалите старый файл определений критических ошибок (aztec_error_definitions.json или error_definitions.json) в корневой директории скрипта и загрузите новый через Опцию 24. Также удалите старый агент мониторинга (опция 3) и создайте нового агента (опция 2).

  • Полная поддержка mainnet и testnet во всех функциях скрипта

  • Обновление безопасности скрипта

    • Исключена автоматическая загрузка и выполнение внешних файлов
    • Все дополнительные скрипты (logo.sh, install_aztec.sh, check-validator.sh) интегрированы в основной скрипт aztec-logs.sh
    • Добавлена функция ручной проверки наличия новой версии скрипта (Опция 23) с проверкой хеша файла и запросом подтверждений от пользователя
    • Добавлена функция ручной проверки наличия новой версии файла критических ошибок (Опция 24) с проверкой хеша файла и запросом подтверждений от пользователя. При первом запуске необходимо использовать опцию, чтобы скачать файл с критическими ошибками error_definitions.json.
  • Доработана функция claim_rewards (Опция 21)

    • Если coinbase адрес не указан, проверка будет выполняться по eth адресу аттестера
    • Доработан вывод правильного тикера в зависимости от сети: STK для testnet, AZTEC для mainnet
  • Обновление функции установки ноды

    • docker-compose.yml приведен к соответствию официальной документации
    • Корректно настроен web3signer для работы в изолированной сети aztec
    • Если используете вайрфол, то необходимо открыть RPC порты для подсети Docker, которую использует сеть aztec
  • Обновление функции удаления ноды

    • Добавлена опция удаления web3signer после подтверждения
  • Обновление файла критических ошибок

    • Добавлена новая ошибка
    • Обновлена стурктура, добавлено указание версии файла
  • Убрана последняя хардкодная привязка root в файле systemd-сервиса агента мониторинга. Если вы не root, то убедитесь что ваш пользователь имеет достаточные разрешения в системе!

  • Рефакторинг кода скрипта

  • Улучшены переводы на трех языках

  • Мелкие улучшения

  • Исправлена ошибка в функции установки Aztec Node

  • Исправлен тип ключа для закрытых ключей BLS

10-12-2025

⚠️ После обновления скрипта удалите старый агент (опция 3) и создайте новый агент (опция 2)

  • Изменение порядка опций в главном меню

  • Мониторинг балансов publisher адресов (опция 10)

    • Добавлена функция управления мониторингом с тремя подопциями:
      • Подопция 1: Добавить адреса и запустить мониторинг баланса (по умолчанию назначается минимум 0.15 ETH)
      • Подопция 2: Настроить значение минимального баланса отличное от по умолчанию
      • Подопция 3: Остановить мониторинг балансов
    • Адреса сохраняются в .env-aztec-agent в переменную PUBLISHERS
    • Минимальный баланс сохраняется в переменную MIN_BALANCE_FOR_WARNING
    • Реализована автоматическая проверка балансов в скрипте агента:
      • При включенном мониторинге (MONITORING_PUBLISHERS=true) агент проверяет балансы всех адресов из PUBLISHERS
      • Проверка выполняется через cast balance с использованием RPC_URL
      • При достижении балансом порога MIN_BALANCE_FOR_WARNING отправляется уведомление в Telegram
    • Форматирование сообщений с балансами:
      • Адреса отображаются в моноширинном формате (копируемые)
      • Баланс выводится на новой строке под адресом
      • Между адресами добавлена пустая строка для лучшей читаемости
  • Ожидание Enter после выполнения функций меню

    • После выполнения любой функции показывается сообщение "Press Enter to continue..."
    • После нажатия Enter экран очищается и снова показывается логотип и главное меню
    • Не применяется для неверного выбора и выхода из программы
  • Обновление переводов и сообщений

    • Обновлены переводы для всех трех языков (английский, русский, турецкий)
    • Улучшены формулировки опций меню
  • Исправления и улучшения

08-12-2025

⚠️ После обновления скрипта удалите старый агент (опция 3) и создайте новый агент (опция 2)

  • Небольшое исправление функции очистки лог файла мониторинга, /aztec-monitor-agent/agent.log
  • В исключения добавлены новые контейнеры: watchtower, otel, prometheus, grafana.

05-12-2025

Данное обновление увеличивает совместимость мониторинга с различными версиями systemd и Ubuntu. Если вы столкнулись с проблемами в работе мониторинга, то обновление до текущей версии рекомендуется.

  • Исправлены проблемы с переводами строк в systemd unit-файлах и .env-aztec-agent ()
    • Полная совместимость с systemd разных версий (исправлены битые символы вместо переводов строк)
    • Все файлы теперь создаются с правильными переводами строк (LF)
    • Добавлена функция валидации и очистки .env-aztec-agent перед созданием systemd сервиса
  • Улучшения в агенте мониторинга
    • Размер лог-файла теперь зависит от режима DEBUG: 10 МБ при DEBUG=true, 1 МБ при DEBUG=false
    • Улучшена обработка RPC URL (приоритет ALT_RPC над RPC_URL)
    • Добавлен FOUNDRY_DISABLE_NIGHTLY_WARNING=1 для подавления предупреждений Foundry
    • Улучшена фильтрация предупреждений при выполнении cast call
  • Улучшения в функции создания агента мониторинга
    • Добавлена проверка валидности systemd unit-файлов перед активацией
    • Улучшена обработка ошибок при создании и запуске systemd сервиса
  • Мелкие улучшения

23-11-2025

⚠️ Если у вас версия скрипта 2.3.2 и менее, то требуется полная переустановка ноды. Перед установкой подготовьте данные!

Для режима мультивалидатора с BLS-ключами в формате: private_key,address,private_bls,public_bls

Для режима мультивалидатора без BLS-ключей в формате: private_key,address

Для режима одного валидатора те же данные по отдельности.

  • Полная поддержка mainnet во всех функциях скрипта
  • все /root заменены на $HOME
  • Добавлена функция сбора наград (Claim)
    • Проверка доступности сбора наград в контракте
    • Отображение ближайшего времени сбора наград, если доступно
    • Поддерживает множественные адреса coinbase из keystore
    • Сбор только с тех валидаторов где есть награды
    • Сбор только с уникальных адресов coinbase
    • Обрабатывает транзакции через keystore с соответствующей подписью
    • Проверяет статус транзакций и подтверждает успешность выполнения
  • Обновления Мониторинга
    • Работает с ранее установленными нодами (название контейнера ноды должно содержать слово aztec, в системе должен быть только один контейнер, содержащий слово aztec)
    • Добавлен запрос типа сети при первом запуске и добавление переменной в .env-aztec-agent
    • Переменная ALT_RPC - можно вручную в .env-aztec-agent добавить переменную ALT_RPC, которая будет иметь приоритет над используемым по умолчанию RPC_URL.
  • Мелкие улучшения

20-11-2025

⚠️ Если у вас версия скрипта 2.3.2 и менее, то требуется полная переустановка ноды. Перед установкой подготовьте данные!

Для режима мультивалидатора с BLS-ключами в формате: private_key,address,private_bls,public_bls

Для режима мультивалидатора без BLS-ключей в формате: private_key,address

Для режима одного валидатора те же данные по отдельности.

  • Выбор сети testnet/mainnet при установке ноды
    • Записывается в переменную NETWORK в .env-aztec-agent
    • Добавляется в docker-compose.yml
    • В зависимости сети меняются параметры в скриптах
  • Новый способ добавления валидаторов с BLS ключами
    • Автоматическое создание yml-файлов типа BN254 для web3signer
    • Поддержка режима мультивалидатора и соло
  • Обновление структуры keystore.json, готовность к основной сети
    • убран slasher
    • attester: с полем eth вместо простой строки
    • publisher: Теперь это массив строк
    • coinbase: теперь в схеме keystore, убран из env и docker-compose.yml
  • Обновление функций генерации BLS c учетом новой структуры keystore.json
    • Предупреждение сохранить публичные BLS ключи
  • Добавлена функция миграции bls в keystore - Опция 18-3
    • Получение данных для миграции из bls-filtered-pk.json, сравнение и добавлние приватного BLS-ключа к своему attester в keystore.json.
  • Обновлен url образа watchtower для поддержки новых версий Docker
  • Обновлена функция получения статистики валидатора из контракта
    • Добавлен показ ревардов
  • Обновлена функция мониторинга очереди валидаторов (пересоздайте мониторинг)
    • Добавлена проверка наличия в активном сете
    • Добавлено уведомление о проблеме в API или других причинах удаления из очереди
    • Добавлен индекс
  • Мелкие улучшения

13-11-2025

  • Добавлен метод генерации нового оператора из старого приватного ключа валидатора (требуется установка ноды через этот скрипт, опция 11)
    • поддержка режима мультивалидатора
    • создание нового адреса, приватного и BLS ключей из старых приватных ключей
    • правильная сортирвка данных согласно сортировке адресов в keystore.json независимо от того в каком порядке вы введете старые приватные ключи для генерации новых.
  • Обновление функции Стейк
    • автоматическое определение выбранного способа генерации BLS-ключей
    • автоматическая замена адреса валидатора в keystore.json при создании новых адресов
    • автоматическое создание новых yml файлов приватных ключей
    • бекап keystore.json
    • автоматический перезапуск web3signer
    • предварительный просмотр команды стейкинга перед отправкой
  • Обновлена функция Поиска и проверки статуса валидатора (Опция 9)
    • Восстановлена функция мониторинга очереди валидаторов
    • Добавлена функция удаления мониторинга очереди валидаторов
    • Новый URL для вывода данных секвенсоров в тестовой сети в Dashtec.xyz
    • Удобное копирование адреса аттестера и вывода, а также хеша-транзакции
  • Мониторинг статистики по слотам
    • Новый url на страницу секвенсора
  • Небольшие улучшения в основном скрипте
  • Небольшие улучшения в скрипте агента мониторинга
  • Небольшие улучшения в скрипте установки ноды

08-11-2025

  • Полная поддержка нового контракта
    • мониторинг
    • установка ноды
    • проверка и поиск валидатора
    • мониторинг очереди валидаторов
  • Генерация BLS-ключей из мнемонической фразы для вашего старого секвенсора (требуется установка ноды через этот скрипт, опция 11)
    • поддержка нескольких адресов из одной мнемоники
    • автоматическая фильтрация и удаление лишних ключей
  • Функция апрува стейка (требуется установка ноды через этот скрипт, опция 11)
  • Функция стейкинга - добавления валидатора (требуется установка ноды через этот скрипт, опция 11)

04-10-2025

⚠️ Удалите старый агент мониторинга (используйте опцию 3) и установите новый агент (используйте опцию 2).

  • Новая система уведомлений о статистике слотов
    • Теперь статистика обновляется прямо в сообщении в виде живых слотов. Всего одно сообщение вместо 25 сообщений
    • Поддержка нескольких валидаторов. Для каждого валидатора свое сообщение со статусами
    • Поддержка fallback. Если возникнет ошибка в обновлении первого сообщения, скрипт отправит новое сообщение.
  • Обновление в скрипте установки ноды, новый способ определения ip-адреса.
    • При установке ноды на сервер с виртуальной машиной ip-адрес для P2P_IP определялся как локальный, что не позволяло корректно работать ноде. Если у вас настроен VPN, то укажите реальный ip-адрес для P2P_IP вручную.
  • Обновление файла ошибок для детектирования модулем контроля критических ошибок
    • Добавлена ошибка, когда нода не получает BLOB-данные от BEACON RPC

20-09-2025

  • Функция поиска и установки мониторинга валидатора в очереди (в опции 9) работает.
    • Добавлен обход Cloudflare
  • Добавлены недостающие переводы
  • Новые необходимые компоненты Python и curl_cffi.
    • Скрипт предложит установить недостающие компоненты
  • Исправление установки curl_cffi. У некоторых пользователей возникала следующая проблема при установке curl_cffi: /usr/bin/python3: No module named pip или error: externally-managed-environment
  • Добавлены новые ошибки для обнаружения модулем контроля критических ошибок

Большое спасибо за наводку с решением @xtoun (Discord) и всем кто тестировал.

17-09-2025

  • Полная поддержка новой сети и тестнета
  • Новый скрипт установки ноды
    • Автоматическое создание YML-файлов ключей для web3signer
    • Установка и запуск web3signer
    • Автоматическое создание схемы ключей keystore.json
    • Поддержка режима мультивалидатора (до 10 на одну ноду)
    • Возможность назначить один общий publisher адрес для всех валидаторов или у каждого свой адрес (такой же как attester)
    • Все прежние возможности (автоматическая установка необходимого ПО, проверка портов, возможность назначить свои порты, проверки)
  • Новый скрипт-агент для мониторинга работы ноды (опция 2)
    • Новые уведомления в Telegram о статистике за каждый слот со всеми типами статусов (✅ attestation, ❌ attestation, ⛏️ Block mined, 📤 Block proposed, ⚠️ Block missed)
    • Поддержка режима мультивалидатора (статистика по всем валидаторам, которые попали в комитет), а также режим одного валидатора
    • DEBUG режим - позволяет получать максимально подробные логи мониторинга ноды. Лог записывается в файл /root/aztec-monitor-agent/agent.log. Для включения DEBUG=true в файле /root/.env-aztec-agent (по умолчанию false)
    • Запуск проверки точно по таймеру systemd каждые 37 секунд (примерное время одного слота) - вы не пропустите ни одного статуса!
  • Все прежние возможности (контроль синхронизации, проверка на критические ошибки, быстрый просмотр логов ноды, автоматические обновления, функция даунгрейда, управление контейнерами и другие опции)
  • Новый скрипт поиска и проверки валидаторов напрямую в контрактах Rollup и GSE (опция 9)
    • Быстрый поиск и проверка статуса валидатора.
    • Поддерживает проверку нескольких валидаторов за один запрос.
    • Точное количество активных валидаторов сети
    • Всегда актуальная информация
  • Обновление функции контроля версий скрипта. Теперь показываются краткие описания новых версий и обновлений.
  • Добавлены новые ошибки для детектирования модулем контроля критических ошибок с информацией как их исправить и уведомлением в Telegram
  • Мелкие улучшения других функций

21-08-2025

  • Обновлена функция поиска PeerID (восстановлена работа функции + новые возможности)
    • Скрипт находит PeerID ноды в логах
    • Ищет среди актуальных данных на Nethermind.io
    • Если не находит в актуальных данных Nethermind.io, то ищет в архиве
  • Обновлена функция создания cron-агента
    • Теперь в уведомлении о включении в комитет можно нажать на адрес валидатора и перейти на его страницу на dashtec.xyz
  • Обновлен скрипт установки ноды Aztec
    • Добавлена проверка активности ufw.
    • Если ufw активен, то добавляются правила для портов 8080 и 40400, иначе правила не добавляются.

06-08-2025

  • Восстановлена работа функции мониторинга очереди валидаторов.

02-08-2025

  • Обновлена функция проверки включения валидатора в комитет (восстановлена работа функции)
    • Можно указать несколько адресов валидаторов

01-08-2025

  • Обновлен скрипт проверки валидаторов. Добавлены режимы проверки.
    • Быстрая обработка - сильная нагрузка на CPU
    • Медленная обработка - нет нагрузки на CPU
  • Проверка версии ноды Aztec вынесена в отдельный пункт меню, чтобы не тратить время при загрузке скрипта.

29-07-2025

  • Добавлена функция Обновления ноды Aztec. Функция обновляет ноду моментально, не дожидаясь автоматического обновления от Watchtower.
    • Также используйте эту опцию, если вы делали даунгрейд и нужно все вернуть обратно.
    • Проверяет docker-compose.yml и заменяет тег на latest
  • Добавлена функция Даунгейда версии ноды Aztec. Функция показывает все версии ноды из Docker Hub, позволяя откатиться на любую выбранную из списка версию.
    • Выбор нужной версии
    • Обновление файла docker-compose.yml
    • Остановка, загрузка и запуск контейнерова

28-07-2025

  • Обновлен скрипт установки ноды Aztec с Watchtower. Во время установки скрипт уточнит "Вы хотите запустить несколько валидаторов? (y/n)"
    • Установка в режиме мультивалидатора (до 10 валидаторов на одну ноду)
    • Установка в режиме одного валидатора

21-07-2025

  • Обновлена команда запуска ноды в CLI (validatorPrivateKeys) для версии ноды 1.1.0 и выше.
  • Добавлена функция проверки наличия старых screen сессий с нодой в CLI и их удаления перед созданием новой сессии.
  • Обновлен адрес rollup контракта

15-07-2025

  • Доработана система Telegram уведомлений для валидаторов. Спасибо за идею @malbur187 (Discord)
    • При установке cron-агента мониторинга ноды можно выбрать какие уведомления получать: только об ошибках или также о выборе в комитет и создании блока.
    • Выбор сохраняется в .env-aztec-agent и применяется при последующих повторных созданиях агента. Если надо изменить, то отредактируйте файл .env-aztec-agent
  • Добавлена функция поиска критических ошибок. Если в логах ноды будет обнаружена критическая ошибка, придет уведомление в Telegram.
    • Пополнение массива ошибок реализовано через единый json-файл, позволяющий быстро добавлять новые ошибки и способ решения.
  • Обновлена функция поиска PeerID. Спасибо за идею @web3.creed (Discord)
    • После успешного поиска в логах, PeerID проверяется в публичной базе aztec.nethermind.io и показывается результат
  • Мелкие улучшения

25-06-2025

  • Добавлена функция "Остановить контейнеры ноды Aztec" - умная функция, которая запоминает ваш способ работы с контейнером ноды (docker-compose или CLI) и далее работает в выбранном режиме.
    • При запросе способа работы укажите как запущена ваша нода: docker-compose или CLI
    • При запросе пути к файлу docker-compose укажите путь от корневой директории в формате: /root/aztec или ./aztec
    • Все настройки сохраняются в файле .env-aztec-agent Вы можете изменить их при желании.
  • Добавлена функция "Запустить контейнеры ноды Aztec" - умная функция, которая использует способ работы с контейнером ноды, назначенный в функции "Остановить контейнеры ноды Aztec" (опция 13).
    • Если вы не задали способ работы с контейнером ноды (опция 13) и воспользуетесь функцией "Запустить контейнеры ноды Aztec", то функция будет работать как визард для запуска ноды в CLI. В этом случае скрипт запросит необходимые данные для запуска CLI-ноды, сформирует команду и запустит CLI-ноду в screen сессии.
    • Все настройки сохраняются в файле .env-aztec-agent Вы можете изменить их при желании.
  • Обновлена функция создания cron-агента с telegram уведомлениями - теперь ChatID и Telegram token сохраняются в файле .env-aztec-agent и при удалении/создании cron-агента не требуется повторный ввод.
  • Добавлена проверка версии ноды Aztec при загрузке скрипта.

22-06-2025

  • Функция Просмотреть логи Aztec - доработана для показа последних 500 строк с последующим обновлением.
  • Функция Проверить контейнер и актуальный блок - улучшенное чтение логов и предотвращение проблем с памятью
  • Улучшена функция проверки и установки необходимого ПО для скрипта

06-06-2025

  • Полная локализация, включая скрипт и уведомления в телеграм, на три языка. Добавлен турецкий язык.
  • Добавлена функция установки ноды Aztec c запуском в Docker c Watchtower. Watchtower настроен на автоматическое обновление контейнера ноды с сохранением конфигурации.
    • Установка зависимостей
    • Проверка наличия Docker, Docker Compose и установка при необходимости
    • Проверка доступности портов по умолчанию, возможность заменить порты
    • Установка последней версии бинарника ноды
    • Автоматическое создание .env и docker-compose файлов
    • Открытие портов в ufw
    • Запуск ноды и показ первых логов
  • Добавлена функция удаления ноды Aztec

05-06-2025

  • Обновление для совместимости с Watchtower

04-06-2025

  • Улучшен механизм поиска номера блока (опция 1 и cron-агент) в логах уровня debug. Поддержка логов уровня debug, info (и, вероятно, всех остальных). Максимально точный результат поиска.
  • Улучшена обработка ошибок проверки блоков
  • Добвлена новая опция - просмотр логов ноды прямо из скрипта (Ctrl+C для выхода из логов)
  • Добавлен вывод номера блока из логов при выполнении опции 1.
  • Добавлен контроль версий скрипта. Если есть обновления, скрипт уведомит об этом.
  • Мелкие улучшения

02-06-2025

  • Обновлено значение фильтра в командах чтения логов для лучшей совместимости с разными версиями ноды Aztec
  • Добавлено логирование ошибок RPC/cast
  • Добавлено логирование версии скрипта

01-06-2025

  • Улучшена совместимость. Скрипт работает с нодой в Docker и CLI.
  • Добавлена поддержка нового формата логов "block NNNN"
  • Автоматическая проверка наличия и установка утилиты bc для вычислений в опции 9
  • Удаление ANSI-кодов перед анализом для надежного поиска данных
  • Устранена ошибка поиска PeerID в логах
  • Оптимизирована работа с hex-значениями блоков
  • Улучшена система уведомлений в Telegram

30-05-2025

  • Добавлена функция проверки валидатора. Анализ все валидаторов, вывод информации по конкретному, полный список.
  • Изменение порта узла Aztec для функции получения доказательства. Нужно, если вы меняли порт ноды при установке.

29-05-2025

  • Очистка файла лога при достижении 1 Мб, первый отчет сохраняется.

⚙️ Установка и запуск

❗️Рекомендуется запускать из под root пользователя в корневой директории.

  1. Требования: Скрипт проверит наличиие необходимых компонентов и предложит установить недостающие.

  2. Запуск или Обновление:

    curl -o aztec-logs.sh https://raw.githubusercontent.com/pittpv/aztec-monitoring-script/main/aztec-logs.sh && chmod +x aztec-logs.sh && ./aztec-logs.sh

    Для последующих запусков используйте команду:

    cd $HOME && ./aztec-logs.sh 
  3. Следуйте инструкциям для:

    • Выбора языка
    • Ввода RPC URL (RPC должна быть доступна по http://localhost:8545 или http://127.0.0.1:8545 или http://ВАШ_ВНЕШНИЙ_IP:ПОРТ)
    • Ввода типа сети (mainnet, testnet)
    • Настройки Telegram-бота
    • Активации мониторинга (опция 9)
    • Скачивания файла определений критических ошибок (опция 27)

❗️Для получения статистики по слотам в ноде должен быть установлен уровень логов: info;debug:node:sentinel или debug

🖥️ Использование

Меню разбито на категории. В интерактивном терминале:

  • / — перемещение по пунктам, Enter — выбор
  • наберите номер опции 0–27 и нажмите Enter для быстрого перехода (можно прямо с экрана категорий)
  • в подменю выберите «← Назад к категориям», чтобы вернуться
  • если терминал неинтерактивный, показывается плоский список 1–27 с вводом номера

Диагностика и логи

  1. Проверить контейнер и синхронизацию ноды
  2. Просмотреть логи Aztec
  3. Найти rollupAddress
  4. Найти PeerID
  5. Найти governanceProposerPayload
  6. Проверить Proven L2 блок
  7. Проверить версию ноды Aztec
  8. Найти Admin API key в логах

Мониторинг

  1. Установить агент мониторинга ноды с уведомлениями
  2. Удалить агент мониторинга
  3. Поиск валидатора, проверка статуса и мониторинг очереди
  4. Мониторинг баланса publisher

Управление нодой

  1. Установить Aztec ноду с Watchtower
  2. Удалить ноду Aztec
  3. Запустить контейнеры ноды Aztec
  4. Остановить контейнеры ноды Aztec
  5. Обновить ноду Aztec
  6. Сделать даунгрейд ноды Aztec
  7. Изменить RPC URL

Стейкинг и валидаторы

  1. Сгенерировать BLS ключи из мнемоники
  2. Апрув
  3. Стейк
  4. Получить награды
  5. Добавить валидаторов
  6. Удалить валидаторов

Обновления и обслуживание

  1. Проверить обновления скрипта (безопасно, с проверкой хеша)
  2. Проверить обновления определений ошибок (безопасно, с проверкой хеша)

0. 🚪 Выход

🚀 Использование агента мониторинга ноды

После установки скрипта выберите опцию 9 (Установить агент мониторинга ноды с уведомлениями):

  • Создаст агента в ~/aztec-monitor-agent
  • Настроит systemd сервис и таймер (запуск каждые 37 секунд)
  • Отправит два сообщения в Telegram: о подключении вашего ChatID к мониторингу и начальный статус ноды
  • Будет непрерывно мониторить ноду и записывать логи в ~/aztec-monitor-agent/agent.log
    • Можно активировать расширенные логи DEBUG=true в файле /.env-aztec-agent
  • Отправит уведомление в Telegram если:
    • Контейнер Aztec не найден
    • Найдено расхождение между блоком в контракте и в логах > 3 блоков
    • Возникла проблема с RPC сервером
    • Найдены критические ошибки
    • Выбрали в комитет
    • Статистику за каждый слот пока валидатор к комитете (успешная/пропущенная аттестация, предложение/создание/пропуск блока)
  • Очистит лог файл при достижении размера в 1 Мб в обычном режиме и 10 Мб в режиме DEBUG=true, сохранив самый первый отчет.

❗️При первом запуске необходимо использовать опцию 27, чтобы скачать файл с критическими ошибками error_definitions.json

Для агента мониторинга понадобятся:

  1. Получите Telegram токен от BotFather
  2. Узнайте свой chat_id, например с помощью IDBot
  3. Введите их в скрипте при установке агента мониторинга. Реализована проверка Telegram токена и ChatID, если вы введете данные некорректно, скрипт покажет предупреждение.

Обновление агента мониторинга

Если вышло обновление для агента мониторинга, сначала обновите весь скрипт. После удалите старого агента и создайте нового. ChatID и Telegram token, которые вы ранее вводили, автоматически назначаются для нового агента.

🚀 Установка ноды Aztec

Для установки ноды Aztec выберите опцию 13 и следуйте инструкциям скрипта.

C пошаговым описанием процесса установки ноды можно ознакомиться тут: Aztec-Install-by-Script.md

⚠️ Важно

Этот скрипт не является официальным продуктом Aztec Network и предоставляется "as is".

📜 Лицензия

MIT License © 2025

✍️ Обратная связь

Любые вопросы, сообщения об ошибках или отзывы:

https://t.me/+DLsyG6ol3SFjM2Vk

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

Скрипт для запуска RPC в один клик

About

Useful tools for installing & monitoring Aztec node (Aztec Node Guide) in new testnet or mainnet.

Topics

Resources

Stars

18 stars

Watchers

0 watching

Forks

Contributors

Languages