RPC-инфраструктура

Обзор: RPC-запросы — это шлюз приложения к кластеру Solana. Запросы обслуживаются соответствующими RPC-узлами, которые обычно посвящены именно этой задаче, а не участию в консенсусе. Тем не менее с точки зрения пользователя приложения плохая производительность RPC ничем не отличается от плохой производительности кластера. Чтобы обеспечить пользователям отличный опыт и продемонстрировать скорость и низкую задержку Solana, важно иметь RPC-инфраструктуру, соответствующую этой задаче.

Разработка: Разработчикам рекомендуется использовать локальный кластер во время разработки, особенно на ранних этапах и для тестирования. Локальные кластеры более гибкие, чем публичные предложения, предоставляя свободу запуска неоптимизированных ранних итераций. Самый простой способ запустить локальный кластер — использовать бинарный файл solana-test-validator, входящий в набор инструментов Solana CLI Tools. Как только приложение достигнет стабильного состояния, развёртывание в публичном кластере становится более целесообразным.

Как и в любой задаче оптимизации кода, когда дело касается RPC-запросов, чем меньше — тем лучше. Избегайте частых повторяющихся вызовов для одних и тех же данных. Избегайте создания клиентов, которые делают RPC-запросы напрямую. «dApps без бэкенда» — это миф; вы просто нагружаете чужую инфраструктуру. Кешируйте дорогостоящие вызовы (особенно getProgramAccount, getSignaturesForAddress2 и getConfirmedBlock) оптимизированным для приложения способом и обслуживайте пользователей из кеша. Потратив время на оптимизацию кода перед запуском, вы можете избавить себя от множества проблем из-за жалоб на плохой пользовательский опыт и значительно снизить расходы на инфраструктуру.

Бесплатные сервисы

Несколько провайдеров предлагают бесплатный RPC-доступ к публичным кластерам Solana. Эти сервисы хороши для реальных тестов, ранних демонстраций и небольших закрытых бета-программ. Имейте в виду, что вы получаете ровно то, за что платите. Бесплатные сервисы обычно не масштабируются автоматически, имеют ограничения по скорости, не предлагают SLA и не боятся банить нарушителей. Когда приложение готово к публичному запуску, пора инвестировать в приватный RPC-доступ.

Некоторые бесплатные RPC-провайдеры:

Testnet

Devnet

Mainnet-beta

Приватные сервисы

Из-за различий в требованиях к RPC между приложениями обобщённая публичная RPC-инфраструктура редко соответствует задачам. Чтобы обеспечить пользователям хороший опыт, публичным приложениям необходимо обеспечить собственный приватный RPC-доступ. Это позволит вам автоматически масштабироваться в зависимости от спроса пользователей, ослаблять ограничения скорости в соответствии с вашим приложением и быть уверенными, что пользователи других приложений не вытеснят ваших. Несколько организаций предлагают RPC-сервисы высокой доступности по требованию; см. ниже. Если ни один из провайдеров не подходит и вы готовы запустить собственный RPC-сервис, пожалуйста, свяжитесь с Solana Foundation для получения рекомендаций.

RPC-инфраструктура | Solana