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

Пример конфигурации: light-нода

Light-нода — узел COOPOS, поднятый со снимком состояния (snapshot) вместо полной перекачки и replay цепи с генезиса. У неё нет полной истории блоков с начала сети: есть актуальное состояние на момент снимка и дальнейшее наращивание цепи через P2P с момента подключения.

Зачем именно так

  • Старт за минуты/часы вместо многодневной синхронизации — критично для кооперативных и периферийных установок, где не нужен архив всей сети.
  • --snapshot path/to.snapshot при запуске nodeos задаёт файл снимка; каталог данных и конфиг согласуют с инструкцией к вашему релизу COOPOS.
  • Журнал блоков может быть пустым или коротким: узел не обязан хранить полный blocks.log от блока 1, если политика допускает усечённый лог (block-log-retain-blocks и см. Параметры).
  • P2P остаётся обязательным: light-ноды синхронизируют новые блоки с сетью так же, как полные ноды, только без истории «до снимка».
  • API (chain_api_plugin) на light-ноде типичен для локальной работы приложений кооператива: чтение таблиц, отправка транзакций в сеть — в пределах доступного состояния и головы цепи.

Кооперативы и light-ноды

В системе кооперативной экономики развёртывание часто строится вокруг light-нод: у каждого контура есть свой узел со снимком, локальный Chain API для сервисов и P2P для обмена блоками между узлами кооперативов (и с публичными seed/BP по политике сети). Полные архивные ноды и выделенные state-ноды остаются на уровне инфраструктуры сети или провайдеров; для глубокой истории приложения подключают подписку на поток данных (SHiP) к узлу с SHiP, а не полагаются на полный лог на каждой light-ноде.

Фрагмент config.ini

Профиль по смыслу близок к API-ноде, но эксплуатация отличается запуском со снимка и часто меньшими лимитами диска под блоки.

plugin = eosio::chain_plugin
plugin = eosio::net_plugin
plugin = eosio::http_plugin
plugin = eosio::chain_api_plugin

validation-mode = full
read-mode = head

http-server-address = 0.0.0.0:8888
http-threads = 8
api-accept-transactions = true

p2p-listen-endpoint = 0.0.0.0:9876
p2p-peer-address = peer-coop.example.com:9876
p2p-peer-address = seed-public.example.com:9876

chain-state-db-size-mb = 8192

# Опционально: усечённый block log, если не нужна длинная локальная история блоков
# block-log-retain-blocks = 100000

# Опционально: SHiP на light-ноде — только для диапазона, доступного узлу после снимка
# plugin = eosio::state_history_plugin
# trace-history = true
# chain-state-history = true
# state-history-endpoint = 127.0.0.1:8080

Запуск (схематично): nodeos --config-dir ... --data-dir ... --snapshot /path/to/snapshot.bin

Конкретные флаги и порядок инициализации см. в документации к вашей версии COOPOS; снимок должен быть совместим по версии протокола с бинарником узла.