Überblick: RPC-Anfragen sind das Gateway einer Anwendung zum Solana-Cluster. Die Anfragen werden von sogenannten RPC-Nodes bearbeitet, die in der Regel für diese Aufgabe vorgesehen sind, anstatt am Konsens teilzunehmen. Aus der Perspektive eines Anwendungsbenutzers unterscheidet sich eine schlechte RPC-Performance jedoch nicht von einer schlechten Cluster-Performance. Um Ihren Nutzern ein großartiges 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 einen lokalen Cluster zu verwenden, insbesondere in den frühen Phasen und zum Testen. Lokale Cluster sind flexibler als die öffentlichen Angebote und gewähren die Freiheit, nicht optimierte frühe Iterationen auszuführen. Der einfachste Weg, einen lokalen Cluster zu betreiben, ist mit der solana-test-validator-Binärdatei, die in der Solana CLI Tools Suite enthalten ist. Sobald die Anwendung einen stabilen Zustand erreicht, 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, wiederholte Aufrufe für dieselben Daten. Vermeiden Sie es, Clients zu erstellen, die direkt RPC-Anfragen stellen. "Backend-lose dApps" sind ein Mythos; Sie belasten nur die Infrastruktur von jemand anderem. Cachen Sie teure Aufrufe (insbesondere getProgramAccount, getSignaturesForAddress2 und getConfirmedBlock) auf eine für die App optimierte Weise und bedienen Sie Ihre Nutzer aus dem Cache. Sich die Zeit zu nehmen, Ihren Code vor der Veröffentlichung zu optimieren, kann Ihnen viele Kopfschmerzen durch Berichte über schlechte Nutzererfahrungen 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 Beta-Programme. Bedenken 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, der Öffentlichkeit zugänglich gemacht zu werden, ist es Zeit, in privaten RPC-Zugang zu investieren.
Einige kostenlose RPC-Anbieter:
Testnet
Devnet
Mainnet-beta
Aufgrund der Variabilität der RPC-Anforderungen zwischen Anwendungen passt verallgemeinerte öffentliche RPC-Infrastruktur selten. Um sicherzustellen, dass Nutzer eine gute Erfahrung machen, müssen öffentlich zugängliche Anwendungen ihren eigenen privaten RPC-Zugang sichern. Dies ermöglicht es Ihnen, basierend auf der Nutzernachfrage automatisch zu skalieren, Ratenlimits entsprechend Ihrer Anwendung zu lockern und die Gewissheit zu haben, dass die Nutzer anderer Anwendungen Ihre nicht verdrängen. Mehrere Organisationen bieten hochverfügbare RPC-Dienste auf Abruf 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 Beratung.