Per risolvere molti dei noti punti deboli dell'RPC esistente, Sui si sta preparando a lanciare un nuovo servizio RPC basato su GraphQL, denominato Sui RPC 2.0. GraphQL è un linguaggio di query e manipolazione dei dati open source progettato per facilitare la creazione di API e servizi espressivi che richiedono query di dati complesse.

Gli utenti hanno attualmente accesso a uno snapshot READ-ONLY della versione beta delle reti mainnet e testnet di Sui. Questa versione non è pensata per applicazioni pronte per la produzione, ma piuttosto per fungere da parco giochi per gli sviluppatori per familiarizzare con il prossimo schema GraphQL RPC e servizio.

L'attuale JSON-RPC rimarrà il principale servizio RPC fino alla fine del primo trimestre del 2024.

Perché creare un nuovo servizio RPC?

La riprogettazione del servizio RPC risolve molte delle sfide affrontate dagli sviluppatori che lavorano con gli RPC attuali. RPC 2.0 depreca l'API di serializzazione delle transazioni non sicura e fornisce modelli di query più efficienti per i campi dinamici, tra le altre correzioni per i problemi di usabilità segnalati dagli utenti attuali.

Nel back-end, il servizio RPC e il suo archivio dati saranno disaccoppiati dai fullnode. Le API dei fullnode saranno limitate all'esecuzione delle transazioni e all'ingestione dei dati per gli indicizzatori, con tutte le richieste di lettura servite da un nuovo servizio RPC senza stato, che legge dal suo archivio dati. Gli indicizzatori consumeranno i dati delle transazioni dai fullnode in blocco, li post-elaboreranno e li scriveranno nell'archivio.

Maggiori dettagli tecnici sull'architettura del nuovo servizio GraphQL RPC e sul motivo per cui Sui sta passando a questo servizio sono disponibili in questo numero di GitHub.

Iniziare

Sui fornisce un'area di gioco interattiva per usare GraphQL sulle reti mainnet e testnet di Sui basate su GraphQL IDE. L'IDE online offre supporto per il completamento automatico (usa ctrl+spazio) e documentazione dello schema e dei tipi disponibili. Se vuoi ispezionare lo schema che è attualmente usato, premi l'endpoint /schema (ad esempio, https://graphql-beta.mainnet.sui.io/schema)

Per problemi e limitazioni note, consultare la documentazione.

Esempi

Per esempi di query, visitare la cartella degli esempi nel repository.

Di seguito è riportato uno screenshot di una query scritta nell'IDE online e il risultato.

Cronologia di rilascio

Continuiamo a lavorare su GraphQL RPC per implementare tutte le funzionalità previste. Ecco la cronologia attuale per la creazione e il rilascio del servizio.

Data obiettivo della fase 1: 31 ottobre 2023

Progettazione dello schema iniziale e rilascio di una versione beta live (senza SLA) del servizio, disponibile al pubblico.

  • rete principale

  • testnet

Data obiettivo della fase 2: 30 dicembre 2023

Rilascia RPC 2.0 con supporto completo delle funzionalità, tra cui abbonamento, scrittura di dati on-chain e altro ancora.

Data obiettivo della fase 3: 31 marzo 2024

Deprecare JSON-RPC.

Condividi il tuo feedback

Prova l'API e fornisci feedback su eventuali difficoltà che hai identificato nell'adozione di GraphQL RPC tramite questo post del forum.