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

Огляд: RPC-запити є шлюзом додатка до кластера Solana. Ці запити обслуговуються відповідно названими RPC-вузлами, які зазвичай присвячені цьому завданню, а не участі в консенсусі. Тим не менш, з точки зору користувача додатка, погана продуктивність RPC нічим не відрізняється від поганої продуктивності кластера. Щоб забезпечити вашим користувачам чудовий досвід і продемонструвати швидкість та низьку затримку Solana, важливо мати RPC-інфраструктуру, яка відповідає завданню.

Розробка: Розробникам рекомендується використовувати локальний кластер під час розробки, особливо на ранніх етапах і для тестування. Локальні кластери є більш гнучкими, ніж публічні пропозиції, надаючи свободу запускати неоптимізовані ранні ітерації. Найпростіший спосіб запустити локальний кластер — використовувати бінарний файл solana-test-validator, включений до набору інструментів Solana CLI. Коли додаток досягає стабільного стану, розгортання в публічному кластері стає більш доцільним.

Як і при будь-якій оптимізації коду, коли справа стосується RPC-запитів, чим менше — тим краще. Уникайте частих повторюваних викликів для тих самих даних. Уникайте створення клієнтів, які роблять RPC-запити безпосередньо. "Децентралізовані додатки без бекенду" — це міф; ви просто навантажуєте чужу інфраструктуру. Кешуйте ресурсомісткі виклики (особливо getProgramAccount, getSignaturesForAddress2 та getConfirmedBlock) у спосіб, оптимізований для додатка, і обслуговуйте своїх користувачів з кешу. Витрачання часу на оптимізацію коду перед запуском може заощадити вам багато головного болю від звітів про поганий користувацький досвід і може значно знизити ваші витрати на інфраструктуру.

Безкоштовні сервіси

Декілька провайдерів пропонують безкоштовний RPC-доступ до публічних кластерів Solana. Ці сервіси підходять для реальних тестів, ранніх демонстрацій і невеликих приватних бета-програм. Майте на увазі, що ви отримуєте саме те, за що платите. Безкоштовні сервіси зазвичай не масштабуються автоматично, мають обмеження за кількістю запитів, не пропонують SLA і не соромляться блокувати зловживачів. Коли додаток готовий до відкриття для публіки, настає час інвестувати в приватний RPC-доступ.

Деякі безкоштовні RPC-провайдери:

Testnet

Devnet

Mainnet-beta

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

Через варіативність вимог до RPC між додатками, узагальнена публічна RPC-інфраструктура рідко підходить. Щоб гарантувати користувачам гарний досвід, публічні додатки повинні забезпечити власний приватний RPC-доступ. Це дозволить вам автоматично масштабуватися відповідно до попиту користувачів, послабити обмеження швидкості відповідно до вашого додатка і мати спокій, що користувачі інших додатків не витіснять ваших. Декілька організацій пропонують високодоступні RPC-сервіси на вимогу; дивіться нижче. Якщо жоден із провайдерів не підходить і ви готові запустити власний RPC-сервіс, будь ласка, зв'яжіться з Solana Foundation для отримання рекомендацій.

RPC Infrastructure | Solana