NEU: Helius übernimmt Light Protocol
Funktionsweise von Solana RPCs
Blog/Grundlagen

Alles, was du über Solana RPCs wissen musst (2023)

Mitgründer & CEOMert Mumtaz auf XMert Mumtaz auf LinkedIn
5 Min. Lesezeit

Einführung

RPCs spielen eine entscheidende Rolle bei der Interaktion dezentraler Anwendungen mit Blockchain-Netzwerken. Deshalb solltest du sie kennen, wenn du dich in diesem schnelllebigen Bereich bewegst. Egal, ob du dich auf Solana oder andere Blockchain-Plattformen konzentrierst: Dieser Leitfaden vermittelt dir wichtige Einblicke in die Rolle von RPCs in klassischen und Blockchain-Umgebungen.

Bedeutung von RPC: Wofür steht RPC?

Im Kryptobereich befinden sich alle benötigten Daten On-Chain. Sie sind vollständig erlaubnisfrei und für alle offen einsehbar und nutzbar. Wie rufst du sie also ab? Mit RPCs.

RPCs steht technisch für Remote Procedure Calls, wird aber oft als Kurzbezeichnung für RPC-Nodes verwendet. Diese Nodes nehmen am Blockchain-Netzwerk teil und stellen Methoden bereit, die Entwickler aufrufen können. Diese Methoden heißen Remote Procedure Calls.

RPCs vs. APIs

In der klassischen Web2-Softwareentwicklung rufst du die benötigten Daten normalerweise über APIs ab. Du kannst beispielsweise Stripe-APIs für Zahlungsdaten, Twilio für SMS-Daten, Bloomberg für Finanzdaten oder Plaid für Bankdaten verwenden.

Dabei ist interessant, dass zentralisierte Organisationen die gesuchten Daten oft für sich behalten oder kontrollieren.

Hier kommen RPCs ins Spiel. Sie liefern dir erlaubnisfreie Daten effizient und ohne externen Anbieter. Du rufst diese Daten direkt aus dem Ledger ab.

Klassische RPCs vs. Blockchain- und Krypto-RPCs

Sowohl in klassischen als auch in Blockchain-Umgebungen dienen RPCs zum Abrufen von Daten. Damit enden die Gemeinsamkeiten jedoch oft. Klassische RPCs verwenden verschiedene Protokolle und interagieren mit zentralisierten Datenbanken. Für die Datenintegrität musst du daher einer einzelnen Organisation vertrauen. Blockchain-RPCs verwenden dagegen meist HTTP mit JSON-RPC, beziehen Daten aus dezentralen Netzwerken und bieten durch die Verifizierung über mehrere Nodes mehr Sicherheit. Klassische RPCs können den Datenzugriff einschränken, während Blockchain-RPCs üblicherweise offene, öffentliche Daten bereitstellen. Zudem sind Blockchain-RPCs, insbesondere in Netzwerken wie Solana, für Geschwindigkeit und Durchsatz optimiert. So erfüllen sie die Echtzeitanforderungen dezentraler Anwendungen. Wenn du diese wichtigen Unterschiede verstehst, kannst du RPCs im Blockchain-Ökosystem gezielter einsetzen.

Solana RPCs

Solana Mainnet RPCs

Um Daten aus dem Mainnet-Beta-Cluster der Solana-Blockchain abzurufen, musst du eine JSON-RPC-Anfrage an einen RPC-Node senden, der am Netzwerk teilnimmt.

Eine typische JSON-RPC-Anfrage könnte so aussehen:

Code
curl  -X POST -H "Content-Type: application/json" -d '  { "jsonrpc": "2.0","id":1,"method":"getBlock", "params": [430, { "encoding": "json", "maxSupportedTransactionVersion":0, "transactionDetails":"full", "rewards":false } ] }

Diese Anfrage fordert vom RPC-Node unter https://api.mainnet-beta.solana.com die RPC-Methode getBlock an. Der Node weiß, was bei dieser Anfrage zu tun ist, da auf ihm der Software-Client für die Solana-Blockchain läuft.

In der Praxis arbeitet kaum jemand direkt mit solchen JSON-RPC-Anfragen, obwohl das natürlich möglich ist. Die meisten Entwickler bevorzugen RPC-Clients. Am häufigsten wird die Solana Web3 JS-Bibliothek verwendet, die du hier findest. Eine vollständige Liste der auf Solana verfügbaren JSON RPC-Methoden findest du in der offiziellen Dokumentation.

Solana Devnet RPCs

Alternativ kannst du über einen Devnet RPC auf den Devnet-Cluster von Solana zugreifen. Solana stellt zu Testzwecken einen unter https://api.devnet.solana.com bereit.

Unsere RPC-Anfrage würde dann so aussehen:

Code
 curl [<https://api.devnet.solana.com>](<https://api.devnet.solana.com/>) -X POST -H "Content-Type: application/json" -d '  { "jsonrpc": "2.0","id":1,"method":"getBlock", "params": [430, { "encoding": "json", "maxSupportedTransactionVersion":0, "transactionDetails":"full", "rewards":false } ] }

Dabei ändert sich nur der verwendete Cluster. Möglicherweise müssen wir den abgefragten Account ändern, wenn es für diesen Account im Devnet keine Transaktionen oder Informationen gibt. Der Grund dafür ist, dass der Devnet-Cluster den Verlauf von Mainnet Beta nicht übernimmt.

Ethereum RPCs vs. Solana RPCs

Damit Solana funktioniert, benötigt es ein verteiltes Netzwerk aus Nodes, auf denen seine Software-Clients laufen.

Diese Nodes lassen sich in zwei Typen unterteilen: Validators und RPCs.

Beide Node-Typen haben eine wichtige Gemeinsamkeit: Sie überwachen kontinuierlich die Blockchain und speichern deren neueste Daten oder ihren aktuellen Zustand.

Es gibt jedoch einen entscheidenden Unterschied.

Validators sind Nodes, die abstimmen, zum Beispiel: „Ja, dieser Block ist gültig“, und am Konsens teilnehmen.

RPCs sind Nodes, die nicht abstimmen, sondern Anfragen zur Arbeit mit On-Chain-Daten verarbeiten. Diese Konfiguration ist bei anderen Blockchains wie Ethereum nicht üblich. Dort sind Validator- und RPC-Nodes oft identisch.

Bei einem RPC-Aufruf rufst du eine Prozedur oder Funktion auf einem Node auf, der an der Blockchain teilnimmt. Da er Teil des Netzwerks ist, kennt er die neuesten Daten und kann sie dir auf Anfrage bereitstellen.

Helius: Solana RPC-Anbieter

Helius bietet hochwertigen RPC-Zugriff mit zahlreichen Vorteilen für Entwickler auf Solana.

Helius RPCs nutzen leistungsstärkste Hardware. So läuft deine App zuverlässig mit maximaler Leistung und ohne unnötige Probleme. Wir sind stolz darauf, den besten rund um die Uhr verfügbaren Entwicklersupport im Ökosystem zu bieten. Wenn in deinem System ein unerwartetes Problem auftritt oder du eine Frage zu einer kommenden Funktion hast, helfen wir dir sofort.

Solana RPCs: So startest du mit Helius

RPCs sind äußerst wichtig. Ohne sie kannst du buchstäblich nicht mit der Blockchain arbeiten. Deshalb gibt es Unternehmen, die sich auf eine optimale RPC-Erfahrung spezialisiert haben. Diese Maschinen werden sehr stark beansprucht und müssen auch unter hoher Last zuverlässig funktionieren. Ein guter RPC-Anbieter arbeitet zuverlässig, liefert eine konstante Leistung und stellt Metriken bereit, anhand derer Endnutzer ihre Nutzungsmuster im Zeitverlauf nachvollziehen können.

Bei Helius sind wir auf Solana spezialisierte Entwickler. Wir haben es uns zur Aufgabe gemacht, Entwicklern aller Art die bestmögliche RPC-Erfahrung zu bieten. Du kannst mit nur zwei Klicks kostenlos loslegen – ohne E-Mail-Anmeldung oder Kreditkarte.

Dies sollte eine sehr kurze und einsteigerfreundliche Einführung in Solana RPCs sein. Einen Großteil dieser Informationen kanntest du wahrscheinlich bereits. Als Nächstes behandeln wir RPC-Optimierungen, wichtige Einschränkungen und einige fortgeschrittene Themen. Danke fürs Lesen!

Helius abonnieren

Bleib bei der Solana-Entwicklung auf dem Laufenden und erhalte Updates, wenn wir neue Beiträge veröffentlichen

Vergrößertes Bild