Вход в кабинет

Своя нода или провайдер: как выбрать

Рано или поздно любая команда, которая работает с блокчейном, задаёт себе этот вопрос: поднимать ноду самостоятельно или подключиться к готовому доступу. Однозначно верного ответа нет — есть набор компромиссов, и правильный выбор зависит от того, чем конкретно занимается сервис и сколько ресурсов готова тратить команда на инфраструктуру, а не на продукт.

Что значит «поднять свою ноду»

Это сервер с достаточным объёмом дисков и памяти под конкретную сеть, время на первичную синхронизацию — для некоторых сетей оно исчисляется днями, — и постоянное сопровождение: обновления клиента при новых релизах, отслеживание форков сети, дежурства на случай, если нода отстала от сети или упала посреди ночи. Ничего из этого не разовая настройка — это текущая операционная работа, которая продолжается всё время, пока нода эксплуатируется.

Отдельная сложность — это не разовая настройка одной ноды, а поддержка целого парка, если сервис работает сразу с несколькими сетями. У Bitcoin, Ethereum и TRON разные клиенты, разные требования к железу и разный график обновлений — а значит, и разная нагрузка на команду, которая всё это поддерживает.

Что вы получаете взамен

Полный контроль. Вы сами решаете, с какими флагами запущен клиент, какие данные хранить, как настроить сеть и firewall, кому и как выдавать доступ. Не нужно доверять ключевую инфраструктуру стороннему оператору — весь путь запроса от вашего приложения до ноды физически находится у вас. Для части команд — например, с жёсткими внутренними требованиями к размещению инфраструктуры — этот пункт решающий сам по себе, независимо от остальных аргументов.

Что значит «пользоваться готовым доступом»

Модель провайдера устроена иначе: ноду поддерживает не ваша команда, а команда провайдера. С технической стороны для приложения это выглядит как обычный HTTP-адрес — например, доступ к Ethereum на CryptoSafe Nodes устроен так, что запрос отправляется на общий адрес прокси, нода определяется по имени сети из личного кабинета, а сам ключ передаётся в заголовке Authorization. Прокси не парсит тело запроса — привычные библиотеки продолжают работать без изменения логики.

Обратная сторона этой простоты в том, что вы не управляете сервером напрямую: нельзя изменить конфигурацию ноды на уровне флагов клиента или физически проверить, где именно она размещена. Вы полагаетесь на то, что эту часть работы провайдер делает добросовестно — так же, как полагаетесь на любого другого поставщика инфраструктуры.

Когда есть смысл держать свою ноду

  • У команды уже есть выделенные инженеры и процесс дежурств для инфраструктуры такого рода.
  • Нужна нестандартная конфигурация клиента, которую не предложит ни один готовый сервис.
  • Есть внутреннее или внешнее требование размещать инфраструктуру именно на своих серверах.
  • Нагрузка достаточно большая и стабильная, чтобы отдельная команда под эту задачу окупалась сама по себе.

Когда практичнее готовый доступ

  • Нужно быстро подключить несколько сетей, не разворачивая под каждую отдельный сервер.
  • Команда небольшая, и распылять её на дежурства по инфраструктуре — не лучшее использование времени.
  • Продукт ещё проверяет гипотезу, и вкладываться в собственные серверы рано.
  • Важно, чтобы обновления клиента и форки сети отслеживал кто-то другой, а не ваша команда.

Эти два списка не взаимоисключающие: многие сервисы приходят к смешанной модели — часть сетей держат сами, потому что уже вложились в эту инфраструктуру, а для остальных пользуются готовым доступом, чтобы не растить команду под каждую новую сеть. Выбор между своей нодой и провайдером — это решение по каждой сети отдельно, а не разовый выбор один раз и навсегда.

Как выбирать: вопросы себе, а не поставщику

Прежде чем решать, полезно честно ответить на несколько вопросов: готова ли команда обслуживать инфраструктуру годами, а не только на этапе запуска? Что случится с продуктом, если нода отстанет от сети на несколько минут? Нужен ли контроль на уровне сервера или достаточно контроля на уровне ключа и IP-адресов? Один и тот же сервис может дать разные ответы для разных сетей — например, держать свою ноду для основной сети продукта и пользоваться готовым доступом для второстепенных сетей вроде Dogecoin или TON, которые нужны реже.

Полезно спросить и о том, что произойдёт при запуске новой сети, о которой сегодня ещё не думали. Со своей инфраструктурой это отдельный проект: сервер, синхронизация, обновления. С готовым доступом — обычно вопрос заявки провайдеру и ожидания, пока нужную сеть поднимут на его стороне.

Если решение пока в пользу готового доступа, стоит заранее понимать разницу между публичными и приватными эндпоинтами — она разобрана в статье «Чем приватная RPC-нода отличается от публичной». А если в планах — задачи с историческими данными, важно заранее прикинуть требования к диску и синхронизации: подробнее — в статье об архивных нодах.

Ещё не решили, что выбрать?

Расскажите нам в чате, с какими сетями работаете и какая нагрузка ожидается — поможем понять, какая модель доступа подойдёт лучше.

Вход в кабинет