Skip to content

pittpv/aztec-monitoring-script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Описание на:

Bash Docker Telegram

Первый экран

📝 Описание

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

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

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

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

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

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

📌 Последние обновления 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.
  • Мелкие улучшения
📅 История версий

23-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 Мб, первый отчет сохраняется.

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

  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-бота
    • Активации мониторинга (опция 2)

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

Главное меню:

  1. 🔍 Проверить контейнер и синхронизацию ноды

  2. ⚙️ Установить агент мониторинга ноды с уведомлениями

  3. 🗑️ Удалить cron-агент и файлы

  4. 🏷️ Найти адрес rollupAddress в логах

  5. 👥 Найти PeerID в логах и Nethermind.io

  6. 🏛️ Найти governanceProposerPayload в логах

  7. 🔗 Проверить Proven L2 блок и Sync Proof (данные, которые ранее были нужны для получения Apprentice роли в Discord)

    • Теперь можно задать свой порт (по умолчанию порт 8080). Новый номер порта сохранится в файл окружения .env-aztec-agent
  8. 🔌 Изменить RPC URL

  9. 🔍 Поиск валидатора и проверка статуса

  10. Просмотреть логи Aztec

  11. Установить Aztec ноду с Watchtower

  12. Удалить ноду Aztec

  13. Остановить контейнеры ноды Aztec

  14. Запустить контейнеры ноды Aztec

  15. Обновить ноду Aztec

  16. Сделать даунгрейд ноды Aztec

  17. Проверить версию ноды Aztec

  18. Сгенерировать BLS

  19. Апрув

  20. Стейк

  21. 🚪 Выход

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

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

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

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

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

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

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

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

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

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 in new testnet or mainnet.

Topics

Resources

Stars

Watchers

Forks

Languages