Вопрос к Web3 backend-разработчикам: как вы работаете с “актуальными” данными, reorg’ами и постоянным polling’ом?

Привет всем. Я фаундер из Web2, последние годы много работал с backend-системами. Недавно вместе с другом (опытный Web3-разработчик) начали глубже строить backend поверх блокчейнов — и постоянно упираемся в одну и ту же проблему.

Хочу понять, это реальная боль индустрии или мы просто неправильно подходим к архитектуре.

Проблема с точки зрения backend’а:

Когда строишь реальный продакшн-backend поверх блокчейна, очень сложно ответить на базовые вопросы:

  • Насколько “свежие” данные, которые я только что прочитал?
  • Это состояние уже финальное или может быть откат (reorg)?
  • Что именно изменилось с момента моего последнего чтения?
  • Может ли событие, на которое я уже отреагировал, исчезнуть из-за форка?

На практике почти всё сводится к:

  • постоянному polling RPC (latest block, tx status, balances),
  • логике “подожди N блоков”,
  • кастомным retry / reconciliation джобам,
  • куче edge-кейсов под каждую сеть.

По сравнению с Web2 это выглядит очень хрупко.

Что ещё вызывает боль:

  • “Latest” данные — это не одно состояние (pending / confirmed / finalized), но API почти нигде не моделируют это явно.
  • Event-системы очень низкоуровневые (блоки, логи), а backend’у нужны семантические события (сделка прошла, NFT продан, ликвидация и т.д.).
  • Свежие данные и исторические данные часто доступны через разные системы (RPC vs индексаторы), с разными гарантиями и схемами.
  • Поддержка нескольких сетей всё это сильно усложняет.

В итоге ощущение, что каждая команда решает одни и те же проблемы у себя внутри.

Вопросы к вам:

  • Сталкиваетесь ли вы с такими же проблемами?
  • Как вы сейчас решаете вопрос актуальности данных и reorg’ов?
  • Используете polling, webhooks, индексаторы, что-то своё?
  • Есть ли инструменты или провайдеры, которые реально закрывают эту боль полностью, а не частично?

Мы хотим понять, насколько эта проблема массовая и какие подходы реально работают в продакшене.

Буду очень благодарен за любой опыт, советы или даже комментарии в стиле «у нас такой проблемы нет и вот почему».

2 комментария