Пример конфигурации: 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; снимок должен быть совместим по версии протокола с бинарником узла.