为了解决现有RPC存在的许多已知问题,Sui正在准备推出一个基于GraphQL的新RPC服务,名为Sui RPC 2.0。GraphQL是一种开源数据查询和操作语言,旨在简化需要复杂数据查询的API和服务。
用户目前可以访问Sui主网和测试网网络的Beta版本的只读快照。这个版本不适用于开发 apps,而是作为一个开发者熟悉即将推出的GraphQL RPC模式和服务的“游乐场”。
当前的JSON-RPC将继续作为主要RPC服务,直到2024年第一季度结束。
RPC服务的重新设计解决了许多开发人员在使用当前RPC时面临的挑战。RPC 2.0弃用了不安全的事务序列化API,并提供了更高效的动态字段查询模式,以解决当前用户报告的可用性问题,同时解决了其他问题。
在后端,RPC服务及其数据存储将与全节点解耦。全节点的API将仅限于事务执行和索引器的数据接收,所有的读取请求都将由一个新的无状态RPC服务提供,它从自己的数据存储中读取。索引器将大量从全节点获取事务数据,进行后处理并将其写入存储中。
有关新的GraphQL RPC服务的体系结构和Sui为何要切换到它的更多技术细节,请参见GitHub。
Sui提供了一个交互式游乐场,基于GraphQL IDE,供在Sui主网和测试网网络上使用GraphQL。在线IDE提供自动完成支持(使用ctrl+space)以及模式和可用类型的文档。如果您想查看当前使用的模式,请访问/schema端点。
有关当前已知的问题和限制,请参考文档。
有关查询示例,请访问存储库中的示例文件夹。
以下是在线IDE中的查询示例和结果的截图。
我们将继续开发GraphQL RPC,以实现所有设想的功能。以下是构建和发布服务的当前时间表。
发布初始模式设计和live beta版本(无SLA)的服务,供一般公众使用。
发布RPC 2.0,支持完整功能,包括订阅、链上数据写入等。
弃用JSON-RPC。
尝试API并提供有关在采用GraphQL RPC时可能遇到的潜在困难的反馈,您可以通过这个论坛帖子提供反馈。
Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac