Обзор: 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 за консультацией.