
既存の RPC の多くの既知の問題点に対処するために、Sui は、GraphQL に基づく新しい RPC サービス (Sui RPC 2.0 と呼ばれる) を開始する準備をしています。GraphQL は、複雑なデータ クエリを必要とする表現力豊かな API とサービスの構築を容易にするために設計された、オープン ソースのデータ クエリおよび操作言語です。
ユーザーは現在、Sui メインネットおよびテストネット ネットワークのベータ版の読み取り専用スナップショットにアクセスできます。このバージョンは、本番環境対応のアプリケーション向けではなく、開発者が今後の GraphQL RPC スキーマとサービスに慣れるためのプレイグラウンドとして機能することを目的としています。
現在の JSON-RPC は、2024 年第 1 四半期末までメインの RPC サービスとして残ります。
新しい RPC サービスを構築する理由は何ですか?
RPC サービスの再設計により、現在の RPC を使用する開発者が直面する多くの課題が解決されます。RPC 2.0 では、安全でないトランザクション シリアル化 API が非推奨となり、動的フィールドに対してより効率的なクエリ パターンが提供されるほか、現在のユーザーから報告されたユーザビリティの問題も修正されています。
バックエンドでは、RPC サービスとそのデータ ストアはフルノードから分離されます。フルノードの API は、トランザクションの実行とインデクサーのデータ取り込みに限定され、すべての読み取り要求は、独自のデータ ストアから読み取る新しいステートレス RPC サービスによって処理されます。インデクサーは、フルノードからのトランザクション データを一括して消費し、後処理してストアに書き込みます。
新しい GraphQL RPC サービスのアーキテクチャに関するより技術的な詳細と、Sui がそれに切り替える理由については、この GitHub の問題で確認できます。
始める
Sui は、GraphQL IDE に基づいて、Sui メインネットおよびテストネット ネットワークで GraphQL を使用するためのインタラクティブなプレイグラウンドを提供します。オンライン IDE は、オートコンプリート サポート (Ctrl + スペースを使用) と、スキーマと使用可能なタイプのドキュメントを提供します。現在使用されているスキーマを検査する場合は、/schema エンドポイント (例: https://graphql-beta.mainnet.sui.io/schema) にアクセスします。
現在既知の問題と制限については、ドキュメントを参照してください。
例
クエリの例については、リポジトリ内の例フォルダを参照してください。
以下は、オンライン IDE で記述されたクエリとその結果のスクリーンショットです。
リリースタイムライン
私たちは、想定されるすべての機能を実装するために、GraphQL RPC の作業を続けています。サービスの構築とリリースの現在のタイムラインは次のとおりです。
フェーズ1の目標日: 2023年10月31日
サービスの初期のスキーマ設計とライブ ベータ バージョン (SLA なし) がリリースされ、一般に公開されました。
メインネット
テストネット
フェーズ2の目標日: 2023年12月30日
サブスクリプション、オンチェーンのデータ書き込みなど、完全な機能をサポートする RPC 2.0 をリリースします。
フェーズ3の目標日: 2024年3月31日
JSON-RPC を非推奨にします。
フィードバックを共有する
API を試してみて、GraphQL RPC の導入で特定した潜在的な問題について、このフォーラム投稿からフィードバックを提供してください。
