SHiNE-server/Dev_Docs/Pending_Features/2026-06-25_1200_periodic_blockchain_sync.md

2.2 KiB
Raw Blame History

Периодическая межсерверная синхронизация блокчейнов

  • Краткое описание:

    • Добавлен публичный GetBlockchainBlock для чтения одного блока.
    • Добавлен плановый sync блокчейнов при старте сервера и затем каждые 12 часов.
    • Синхронизация пока умеет только докачивать отсутствующий хвост цепочки.
    • Случай рассинхрона цепочек пока не исправляется автоматически: он только логируется как не реализованный сценарий.
  • Что именно проверять:

    • После старта сервера в логах появляется запуск периодического sync.
    • Сервер может запросить у партнёра ListBlockchainHeads.
    • Сервер может запросить у партнёра GetBlockchainBlock и локально применить блок через существующий AddBlock.
    • На чистом тестовом сервере после удаления БД и файлов блокчейнов сервер сам подтягивает блоки при старте.
    • После первичного старта новые блоки продолжают догоняться без ручного вмешательства.
    • При рассинхроне цепочек в логах появляется явное сообщение, что reconciliation пока не реализован.
  • Ожидаемый результат:

    • Чистый сервер после старта сам восстанавливает локальные цепочки от партнёра синхронизации.
    • Периодический sync не мешает обычной работе сервера и не ломает локальный AddBlock.
    • Нереализованный случай рассинхрона не приводит к падению сервера и явно отражается в логах.
  • Статус:

    • pending