Overzicht: RPC-verzoeken zijn de toegangspoort van een applicatie tot het Solana-cluster. De verzoeken worden afgehandeld door zogenaamde RPC-nodes, die doorgaans zijn toegewijd aan deze taak in plaats van deel te nemen aan consensus. Vanuit het perspectief van een applicatiegebruiker is slechte RPC-prestatie echter niet anders dan slechte clusterprestatie. Om je gebruikers een geweldige ervaring te bieden en de snelheid en lage latentie van Solana te laten zien, is het belangrijk om RPC-infrastructuur te hebben die tegen deze taak is opgewassen.
Ontwikkeling: Ontwikkelaars worden aangemoedigd om tijdens de ontwikkeling een lokaal cluster te gebruiken, vooral in de vroege fasen en voor testen. Lokale clusters zijn flexibeler dan de publieke aanbiedingen en bieden de vrijheid om niet-geoptimaliseerde vroege iteraties uit te voeren. De gemakkelijkste manier om een lokaal cluster te draaien is met de solana-test-validator binary, die is opgenomen in de Solana CLI Tools-suite. Zodra de applicatie een stabiele staat bereikt, wordt implementatie op een publiek cluster passender.
Zoals bij alle code-optimalisatietaken geldt: minder is meer als het gaat om RPC-verzoeken. Vermijd frequente, repetitieve aanroepen voor dezelfde gegevens. Vermijd het bouwen van clients die rechtstreeks RPC-verzoeken doen. "Backend-loze dApps" zijn een mythe; je bombardeert gewoon iemand anders' infrastructuur. Cache dure aanroepen (vooral getProgramAccount, getSignaturesForAddress2 en getConfirmedBlock) op een voor de app geoptimaliseerde manier en bedien je gebruikers vanuit de cache. De tijd nemen om je code te optimaliseren voordat je live gaat, kan je veel hoofdpijn besparen door meldingen van slechte gebruikerservaring en kan je infrastructuurkosten aanzienlijk verlagen.
Verschillende providers bieden gratis RPC-toegang tot de publieke Solana-clusters. Deze diensten zijn geschikt voor realistische tests, vroege demo's en kleine, privé-bètaprogramma's. Houd er rekening mee dat je precies krijgt waarvoor je betaalt. Gratis diensten schalen doorgaans niet automatisch, zijn rate-limited, bieden geen SLA en zijn niet bang om misbruikers te bannen. Wanneer een applicatie klaar is om voor het publiek te worden geopend, is het tijd om te investeren in privé-RPC-toegang.
Enkele gratis RPC-providers:
Testnet
Devnet
Mainnet-beta
Vanwege de variabiliteit in RPC-vereisten tussen applicaties, voldoet gegeneraliseerde publieke RPC-infrastructuur zelden aan de eisen. Om ervoor te zorgen dat gebruikers een goede ervaring krijgen, moeten publiek gerichte applicaties hun eigen privé-RPC-toegang beveiligen. Hierdoor kun je automatisch schalen op basis van gebruikersvraag, rate limits versoepelen volgens je applicatie en gemoedsrust hebben dat gebruikers van andere applicaties die van jou niet verdringen. Verschillende organisaties bieden RPC-diensten met hoge beschikbaarheid en on-demand aan; zie hieronder. Als geen van de providers geschikt is en je de taak aankunt om je eigen RPC-dienst te draaien, neem dan contact op met de Solana Foundation voor begeleiding.