Sui发布RPC2.0 Beta,拥抱GraphQL并计划弃用JSON-RPC

GraphQL RPC服务的Beta版本现已可供测试,欢迎提供反馈。

Sui发布RPC2.0 Beta,拥抱GraphQL并计划弃用JSON-RPC
注:新的 GraphQL 服务已推出,旧的测试版已不可用。单击此处了解有关新的 Sui GraphQL RPC 服务.

为了解决现有RPC存在的许多已知问题,Sui正在准备推出一个基于GraphQL的新RPC服务,名为Sui RPC 2.0。GraphQL是一种开源数据查询和操作语言,旨在简化需要复杂数据查询的API和服务。

用户目前可以访问Sui Mainnet 和 Testnet 网络测试版的只读快照。该版本不用于生产就绪的应用程序,而是作为开发人员熟悉即将推出的 GraphQL RPC 架构和服务的平台。

当前的JSON-RPC将继续作为主要RPC服务,直到2024年第一季度结束。 

为什么要构建新的RPC服务?

RPC服务的重新设计解决了许多开发人员在使用当前RPC时面临的挑战。RPC 2.0弃用了不安全的事务序列化API,并提供了更高效的动态字段查询模式,以解决当前用户报告的可用性问题,同时解决了其他问题。

在后端,RPC服务及其数据存储将与全节点解耦。全节点的API将仅限于事务执行和索引器的数据接收,所有的读取请求都将由一个新的无状态RPC服务提供,它从自己的数据存储中读取。索引器将大量从全节点获取事务数据,进行后处理并将其写入存储中。

有关新的GraphQL RPC服务的体系结构和Sui为何要切换到它的更多技术细节,请参见GitHub

开始体验

Sui 为在Sui MainnetTestnet网络上使用基于 GraphQL IDE 的 GraphQL 提供了一个交互式游戏场地。在线 IDE 支持自动完成(使用 ctrl+space)以及模式和可用类型的文档。如果您想查看当前使用的模式,请点击 /schema 端点(例如,https://graphql-beta.mainnet.sui.io/schema)

有关当前已知问题和限制,请参考文档。 

示例

有关查询示例,请访问存储库中的示例文件夹

以下是在线IDE中的查询示例和结果的截图。

发布时间表

我们将继续开发GraphQL RPC,以实现所有设想的功能。以下是构建和发布服务的当前时间表。

第 1 阶段:已完成

发布初始模式设计和live beta版本(无SLA)的服务,供一般公众使用。

第二阶段目标日期:2024 年 1 月

发布 RPC 2.0 的第一个版本,最初由 Mysten 实验室运行。

第 3 阶段目标日期:Q1 2024

向Sui 节点操作员传授运行涉及 RPC 2.0 的新索引基础架构的最佳实践。

第 4 阶段目标日期:待定

一旦生态系统成功迁移到新的 RPC 2.0 体系结构,JSON-RPC API 将被弃用。

分享您的反馈

尝试API并提供有关在采用GraphQL RPC时可能遇到的潜在困难的反馈,您可以通过这个论坛帖子提供反馈。