Предварительные требования
Базовые навыки администрирования Linux
Установлены Docker и Docker Compose
Сервер, отвечающий требованиям к оборудованию
Доступные сети
| Сеть | Chain ID | Версия консенсуса | Версия исполнения |
|---|---|---|---|
| mainnet | 9745 | 0.15.0 | Reth v1.8.3 |
| testnet | 9746 | 0.15.0 | Reth v1.8.3 |
| devnet | 9747 | 0.15.0 | Reth v1.8.3 |
plasma-consensus-public — аутентификация GHCR не требуется.
Быстрый старт
Обзор архитектуры
Ваша не-валидирующая нода состоит из двух основных компонентов:Plasma Execution Client
На основе Reth. Обрабатывает исполнение транзакций, управление состоянием и предоставляет JSON-RPC точки для приложений.
Plasma Observer Client
Лёгкий клиент, который отслеживает сеть консенсуса Plasma без участия в производстве или валидации блоков.
Структура каталогов
Каждый каталог сети имеет одинаковую структуру:Процесс настройки
Файл Docker Compose определяет четыре сервиса, которые запускаются последовательно:Инициализация OpenSSL
Генерирует JWT-секрет для безопасной коммуникации Engine API и создаёт secp256k1-ключи для сетевой идентичности ноды. Они генерируются только один раз и сохраняются между перезапусками.
Инициализация базы данных консенсуса
Инициализирует базу данных консенсуса с конфигурацией genesis для выбранной сети и генерирует peer ID для вашей ноды.
Инициализация базы данных исполнения
Инициализирует базу данных исполнения Reth с состоянием genesis.
Развёртывание контейнеров
После завершения инициализации запускаются клиенты исполнения и консенсуса. Клиент исполнения (Reth) запускается первым и предоставляет JSON-RPC API и Engine API. Клиент-наблюдатель консенсуса запускается после того, как клиент исполнения становится здоровым, и подключается к сети консенсуса.
Конфигурация
Все номера версий и теги образов определены в файле.env каждой сети — это единый источник истины для версий программного обеспечения. Клиент консенсуса настраивается через non-validator.toml.
Справочник конфигурации консенсуса (non-validator.toml)
Справочник конфигурации консенсуса (non-validator.toml)
| Раздел | Поля | Описание |
|---|---|---|
| (верхний уровень) | engine_api_url, consensus_api_host, authrpc_jwtsecret | Подключение к движку исполнения |
[persistence] | data_dir | Путь хранения данных консенсуса |
[network] | p2p_port, interval, timeout, identity_file_path, trusted_only, discovery.enabled | P2P-сети и обнаружение пиров |
[api] | enabled, host, port | Точка API консенсуса |
[validators.*] | validator_keystore_pk_file_path, identity_file_path | Комитет валидаторов |
[network.bootstrap_nodes.*] | api_host, p2p_port, peer_id | Bootstrap-пиры консенсуса |
NAT / Внешний адрес
Для нод за NAT настройте внешний адрес, чтобы пиры могли обнаруживать вашу ноду и подключаться к ней:Конфигурация портов
| Порт | Сервис | Протокол | Описание |
|---|---|---|---|
8545 | Execution RPC | HTTP | JSON-RPC API endpoint |
8551 | Execution Auth | HTTP | Engine API (внутренний) |
30303 | Execution P2P | TCP/UDP | P2P-сети |
34070 | Consensus P2P | TCP | Сети консенсуса |
35070 | Consensus API | HTTP | Точка здоровья/API консенсуса |
9001 | Metrics | HTTP | Prometheus-метрики |
Распространённые операции
Мониторинг ноды
После того как нода заработает, можно отслеживать её здоровье и статус синхронизации. Для полной настройки мониторинга и лучших практик см. руководство по мониторингу.- Проверка статуса
- Статус синхронизации
- Точки
Снапшоты базы данных
Plasma публикует ежедневные снапшоты базы данных для mainnet и testnet. Снапшоты позволяют поднять новую ноду за часы вместо синхронизации с genesis, которая может занять значительно больше времени. Каждый снапшот содержит два файла — базу данных уровня консенсуса и базу данных уровня исполнения — загруженные в S3-бакет с оплатой со стороны запросчика. Вам нужен AWS-аккаунт; применяются стандартные тарифы передачи данных S3.Предварительные требования для снапшотов
| Требование | Детали |
|---|---|
| AWS-аккаунт | Учётные данные настроены через aws configure или переменные окружения |
| AWS CLI | Рекомендуется v2 (aws --version) |
| Дисковое пространство | Mainnet: ~400 ГБ свободно • Testnet: ~100 ГБ свободно |
Передача данных из
us-east-2 стоит ~$0,09/ГБ для первых 10 ТБ/месяц. Передача с EC2-инстанса в том же регионе бесплатна — запуск ноды в us-east-2 — самый экономичный вариант.Бакеты со снапшотами
| Свойство | Mainnet | Testnet |
|---|---|---|
| Бакет | plasma-mainnet-db-backups | plasma-testnet-db-backups |
| Регион | us-east-2 (Огайо) | us-east-2 (Огайо) |
| Модель доступа | Requester-pays | Requester-pays |
| Частота резервного копирования | Ежедневно | Ежедневно в 02:00 UTC |
| Срок хранения | Скользящий (старые резервные копии удаляются автоматически) | 3 дня |
MM-DD-YY). Каждая папка содержит два файла:
| Файл | Описание |
|---|---|
База данных консенсуса (.db в mainnet, .mdb в testnet) | Полное состояние уровня консенсуса |
База данных исполнения (.tar.gz) | Tar-архив каталога data/ Reth-исполнения |
Скачивание снапшота
Восстановление из снапшота
Устранение неполадок со снапшотами
| Проблема | Причина / Исправление |
|---|---|
Access Denied | Нужно включать --request-payer requester в каждую команду. Бакет отклоняет запросы без него. |
403 Forbidden | AWS-учётные данные не настроены. Запустите aws sts get-caller-identity, чтобы убедиться, что у вас есть валидная сессия. |
| Пустой листинг бакета | Старые резервные копии автоматически очищаются. Если бакет кажется пустым, возможно, цикл резервного копирования в процессе — проверьте позже. |
| Неправильное расширение файла | Mainnet использует .db; testnet использует .mdb. Убедитесь, что вы копируете правильный файл для вашей сети. |