
Um viele bekannte Schwachstellen des bestehenden RPC zu beheben, bereitet Sui die Einführung eines neuen RPC-Dienstes auf Basis von GraphQL vor, genannt Sui RPC 2.0. GraphQL ist eine Open-Source-Datenabfrage- und -bearbeitungssprache, die den Aufbau ausdrucksstarker APIs und Dienste erleichtern soll, die komplexe Datenabfragen erfordern.
Benutzer haben derzeit Zugriff auf einen NUR-LESE-Snapshot der Betaversion der Sui-Mainnet- und Testnet-Netzwerke. Diese Version ist nicht für produktionsreife Anwendungen gedacht, sondern soll Entwicklern als Spielwiese dienen, um sich mit dem kommenden GraphQL RPC-Schema und -Dienst vertraut zu machen.
Das aktuelle JSON-RPC bleibt bis Ende des ersten Quartals 2024 der wichtigste RPC-Dienst.
Warum einen neuen RPC-Dienst erstellen?
Die Neugestaltung des RPC-Dienstes löst viele der Herausforderungen, denen sich Entwickler bei der Arbeit mit den aktuellen RPCs gegenübersehen. RPC 2.0 macht die unsichere Transaktionsserialisierungs-API überflüssig und bietet effizientere Abfragemuster für dynamische Felder sowie weitere Korrekturen für von aktuellen Benutzern gemeldete Benutzerfreundlichkeitsprobleme.
Auf dem Backend werden der RPC-Dienst und sein Datenspeicher von den Fullnodes entkoppelt. Die APIs der Fullnodes sind auf die Transaktionsausführung und Datenaufnahme für Indexer beschränkt, wobei alle Leseanforderungen von einem neuen, zustandslosen RPC-Dienst bedient werden, der aus seinem eigenen Datenspeicher liest. Indexer verbrauchen Transaktionsdaten von Fullnodes in großen Mengen, verarbeiten sie nach und schreiben sie in den Speicher.
Weitere technische Details zur Architektur des neuen GraphQL RPC-Dienstes und warum Sui darauf umsteigt, finden Sie in diesem GitHub-Problem.
Erste Schritte
Sui bietet einen interaktiven Spielplatz für die Verwendung von GraphQL in Sui-Mainnet- und Testnet-Netzwerken basierend auf der GraphQL IDE. Die Online-IDE bietet Autovervollständigungsunterstützung (verwenden Sie Strg+Leertaste) und Dokumentation des Schemas und der verfügbaren Typen. Wenn Sie das aktuell verwendete Schema überprüfen möchten, klicken Sie auf den /schema-Endpunkt (z. B. https://graphql-beta.mainnet.sui.io/schema).
Informationen zu aktuell bekannten Problemen und Einschränkungen finden Sie in der Dokumentation.
Beispiele
Abfragebeispiele finden Sie im Beispielordner im Repository.
Unten sehen Sie einen Screenshot einer in der Online-IDE geschriebenen Abfrage und des Ergebnisses.
Zeitplan für die Veröffentlichung
Wir arbeiten weiterhin am GraphQL RPC, um alle vorgesehenen Funktionen zu implementieren. Hier ist der aktuelle Zeitplan für die Erstellung und Veröffentlichung des Dienstes.
Zieldatum Phase 1: 31. Oktober 2023
Der erste Schemaentwurf und eine Live-Betaversion (kein SLA) des Dienstes wurden veröffentlicht und sind der breiten Öffentlichkeit zugänglich.
Mainnet
Testnetz
Zieldatum Phase 2: 30. Dezember 2023
Geben Sie RPC 2.0 mit vollständiger Funktionsunterstützung frei, einschließlich Abonnement, Schreiben von Daten in die Kette und mehr.
Zieldatum Phase 3: 31. März 2024
JSON-RPC veraltet.
Teilen Sie Ihr Feedback
Probieren Sie die API aus und geben Sie über diesen Forenbeitrag Feedback zu möglichen Schwierigkeiten, die Sie bei der Einführung des GraphQL RPC festgestellt haben.
