Überblick: RPC-Anfragen sind das Gateway einer Anwendung zum Solana-Cluster. Die Anfragen werden von sogenannten RPC-Knoten bedient, die in der Regel für diese Aufgabe dediziert sind, anstatt am Konsens teilzunehmen. Dennoch ist aus der Perspektive eines Anwendungsbenutzers eine schlechte RPC-Performance nicht anders als eine schlechte Cluster-Performance. Um Ihren Benutzern ein hervorragendes Erlebnis zu bieten und Solanas Geschwindigkeit und niedrige Latenz zu demonstrieren, ist es wichtig, über eine RPC-Infrastruktur zu verfügen, die dieser Aufgabe gewachsen ist.
Entwicklung: Entwicklern wird empfohlen, während der Entwicklung ein lokales Cluster zu verwenden, insbesondere in den frühen Phasen und für Tests. Lokale Cluster sind flexibler als die öffentlichen Angebote und bieten die Freiheit, unoptimierte frühe Iterationen auszuführen. Der einfachste Weg, ein lokales Cluster auszuführen, ist die Verwendung der solana-test-validator-Binary, die in der Solana CLI Tools Suite enthalten ist. Sobald die Anwendung einen stabilen Zustand erreicht hat, wird die Bereitstellung auf einem öffentlichen Cluster angemessener.
Wie bei allen Code-Optimierungsaufgaben gilt auch bei RPC-Anfragen: Weniger ist mehr. Vermeiden Sie häufige, sich wiederholende Aufrufe für dieselben Daten. Vermeiden Sie es, Clients zu erstellen, die RPC-Anfragen direkt stellen. "Backend-lose dApps" sind ein Mythos; Sie belasten nur die Infrastruktur einer anderen Person. Cachen Sie teure Aufrufe (insbesondere getProgramAccount, getSignaturesForAddress2 und getConfirmedBlock) auf eine für die Anwendung optimierte Weise und bedienen Sie Ihre Benutzer aus dem Cache. Sich die Zeit zu nehmen, Ihren Code vor der Liveschaltung zu optimieren, kann Ihnen viele Kopfschmerzen durch schlechte Benutzererfahrungsberichte ersparen und Ihre Infrastrukturkosten erheblich reduzieren.
Mehrere Anbieter bieten kostenlosen RPC-Zugang zu den öffentlichen Solana-Clustern. Diese Dienste eignen sich gut für reale Tests, frühe Demos und kleine, private Betaprogramme. Beachten Sie, dass Sie genau das bekommen, wofür Sie bezahlen. Kostenlose Dienste skalieren in der Regel nicht automatisch, sind ratenbegrenzt, bieten keine SLA und scheuen sich nicht, Missbraucher zu sperren. Wenn eine Anwendung bereit ist, für die Öffentlichkeit geöffnet zu werden, ist es an der Zeit, in privaten RPC-Zugang zu investieren.
Einige kostenlose RPC-Anbieter:
Testnet
Devnet
Mainnet-beta
Aufgrund der Variabilität der RPC-Anforderungen zwischen Anwendungen erfüllt verallgemeinerte öffentliche RPC-Infrastruktur selten die Anforderungen. Um sicherzustellen, dass Benutzer eine gute Erfahrung machen, müssen öffentlich zugängliche Anwendungen ihren eigenen privaten RPC-Zugang sichern. Dies ermöglicht Ihnen eine automatische Skalierung basierend auf der Benutzernachfrage, Lockerung der Ratenbegrenzungen entsprechend Ihrer Anwendung und die Gewissheit, dass die Benutzer anderer Anwendungen Ihre nicht verdrängen. Mehrere Organisationen bieten hochverfügbare On-Demand-RPC-Dienste an; siehe unten. Wenn keiner der Anbieter passt und Sie bereit sind, Ihren eigenen RPC-Dienst zu betreiben, wenden Sie sich bitte an die Solana Foundation für Unterstützung.