Przegląd: Żądania RPC są bramą aplikacji do klastra Solana. Żądania są obsługiwane przez odpowiednio nazwane węzły RPC, które zazwyczaj są dedykowane temu zadaniu, zamiast uczestniczyć w konsensusie. Niemniej jednak, z perspektywy użytkownika aplikacji, słaba wydajność RPC nie różni się od słabej wydajności klastra. Aby zapewnić użytkownikom doskonałe doświadczenie i pokazać szybkość oraz niskie opóźnienia Solany, ważne jest posiadanie infrastruktury RPC, która spełnia te wymagania.
Rozwój: Zachęca się programistów do korzystania z lokalnego klastra podczas rozwoju, szczególnie na wczesnych etapach i do testowania. Lokalne klastry są bardziej elastyczne niż oferty publiczne, dając swobodę uruchamiania niezoptymalizowanych wczesnych iteracji. Najprostszym sposobem uruchomienia lokalnego klastra jest użycie pliku binarnego solana-test-validator, zawartego w pakiecie narzędzi Solana CLI. Gdy aplikacja osiągnie stabilny stan, wdrożenie na klastrze publicznym staje się bardziej odpowiednie.
Jak w przypadku wszystkich zadań optymalizacji kodu, jeśli chodzi o żądania RPC, mniej znaczy więcej. Unikaj częstych, powtarzających się wywołań dla tych samych danych. Unikaj tworzenia klientów, którzy wysyłają żądania RPC bezpośrednio. "DApps bez backendu" to mit; po prostu obciążasz infrastrukturę kogoś innego. Przechowuj w pamięci podręcznej kosztowne wywołania (szczególnie getProgramAccount, getSignaturesForAddress2 i getConfirmedBlock) w sposób zoptymalizowany pod kątem aplikacji i obsługuj swoich użytkowników z pamięci podręcznej. Poświęcenie czasu na optymalizację kodu przed uruchomieniem może zaoszczędzić wiele problemów związanych ze zgłoszeniami słabych doświadczeń użytkowników i może znacząco zmniejszyć wydatki na infrastrukturę.
Kilku dostawców oferuje bezpłatny dostęp RPC do publicznych klastrów Solana. Te usługi są dobre do testów w rzeczywistych warunkach, wczesnych demo i małych, prywatnych programów beta. Należy pamiętać, że otrzymujesz dokładnie to, za co płacisz. Bezpłatne usługi zazwyczaj nie skalują się automatycznie, mają ograniczoną liczbę żądań, nie oferują SLA i nie boją się banować nadużywających. Gdy aplikacja jest gotowa do udostępnienia publicznie, nadszedł czas, aby zainwestować w prywatny dostęp RPC.
Niektórzy bezpłatni dostawcy RPC:
Testnet
Devnet
Mainnet-beta
Ze względu na zmienność wymagań RPC między aplikacjami, uogólniona publiczna infrastruktura RPC rzadko spełnia wymagania. Aby zapewnić użytkownikom dobre doświadczenie, aplikacje publiczne muszą zapewnić sobie własny prywatny dostęp RPC. Pozwoli to na automatyczne skalowanie w zależności od zapotrzebowania użytkowników, złagodzenie limitów żądań zgodnie z potrzebami aplikacji i spokój ducha, że użytkownicy innych aplikacji nie wypchną Twoich użytkowników. Kilka organizacji oferuje usługi RPC o wysokiej dostępności i na żądanie; patrz poniżej. Jeśli żaden z dostawców nie jest odpowiedni, a jesteś gotowy podjąć się zadania uruchomienia własnej usługi RPC, skontaktuj się z Solana Foundation w celu uzyskania wskazówek.