Logo
RPC Assistant

什么是 Sui RPC 网络,应该使用哪个端点?

摘要

Sui RPC 网络是一组全节点端点和 API,让应用程序能够读取余额、查询对象、模拟执行 Move 调用,并在 Sui 上提交交易。开发者在连接钱包、索引器、浏览器和依赖可靠网络访问的游戏时,会寻找 Sui RPC 端点。

本指南涵盖公共和提供商托管的 Sui 端点、常见的 JSON-RPC 方法,以及在生产环境选择 Sui RPC 提供商的标准。您还会找到最常见的 Sui RPC 故障模式的调试清单。

Sui RPC 决策清单

在将应用连接到 Sui RPC 网络之前,请检查以下清单:

  • 确认您需要主网、测试网还是开发网。网络决定了端点、您可以读取的状态以及您可以提交的交易。
  • 检查端点支持的 API 风格:JSON-RPC、GraphQL 或 gRPC。Sui 正在逐步弃用 JSON-RPC,因此新的集成应确认长期访问。
  • 查看请求限制和公平使用政策。公共 Sui 全节点有速率限制,不适用于生产流量。
  • 如果您需要订阅交易、检查点或 Move 事件,请询问 WebSocket 支持。
  • 决定您是否需要超出最近检查点的历史数据,这会影响归档要求。
  • 规划冗余。高流量事件(如 NFT 铸造)可能会压垮单个提供商。
  • 在启动前测试您的应用将调用的确切 RPC 方法和负载格式,并在客户端配置中包含备用端点。

什么是 Sui RPC 网络?

Sui 是一个第 1 层区块链,具有以对象为中心的数据模型和并行交易执行。Sui RPC 网络是全节点公开的一组端点,使钱包、浏览器、索引器、游戏和后端服务能够与网络交互。通过 RPC 端点,应用程序可以读取余额、查询对象和交易、模拟执行 Move 调用,并提交交易块以供执行。

与 EVM 网络不同,Sui 不以相同的方式暴露单一的规范区块号。网络通过检查点推进,大多数客户端在跟踪状态时引用检查点序列号或纪元边界。当您构建索引器或试图理解最终性时,这种差异很重要。一旦包含交易的检查点被验证者集认证,该交易即被视为最终。

有两种常见的方式访问 Sui RPC 网络:

  • 使用 Sui 维护的官方公共全节点。这些节点便于原型开发,但有速率限制,不适合生产应用。
  • 使用托管 RPC 提供商,如 OnFinality。提供商托管的端点通常提供更高的吞吐量、监控、故障转移,以及为需要隔离容量的团队提供专用节点选项。

对于生产工作负载,您应将 RPC 访问视为基础设施。这意味着评估请求限制、正常运行时间特性、支持和冗余,而不仅仅是复制端点 URL 到配置文件中。

Sui RPC 端点基础

常见的公共 Sui 网络端点如下:

网络端点备注
主网https://fullnode.mainnet.sui.io:443官方公共端点,有速率限制
测试网https://fullnode.testnet.sui.io:443适用于开发和测试
开发网https://fullnode.devnet.sui.io:443早期功能,状态可能重置

提供商端点不同。OnFinality 在 Sui 网络页面 上发布当前的 Sui RPC 详细信息。如果您使用托管服务,通常会收到一个跨多个全节点负载均衡的 URL,可以与标准 JSON-RPC 或 GraphQL 客户端一起使用。

配置网络时,在几乎所有情况下都应使用 HTTPS 和默认的 443 端口。除非提供商记录了特定的路由路径,否则不要向端点添加路径段。Sui 不使用 EVM 链 ID,因此钱包和应用通过端点本身识别网络。将网络添加到钱包时,使用提供商提供的网络名称、RPC URL 和 SUI 符号。

如何发出 Sui RPC 请求

Sui RPC 端点使用 JSON-RPC 2.0。基本请求包含方法名、可选参数和一个 id,您可以在批处理多个请求时用于匹配响应。

以下 curl 示例调用 suix_getLatestCheckpointSequenceNumber 获取当前检查点序列:

curl -X POST "https://YOUR_SUI_RPC_URL" -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"suix_getLatestCheckpointSequenceNumber","params":[],"id":1}'

要读取余额,请将所有者地址作为十六进制字符串传递:

curl -X POST "https://YOUR_SUI_RPC_URL" -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"suix_getBalance","params":["0xYOUR_ADDRESS"],"id":1}'

如果您使用 TypeScript,可以使用 fetch 发出相同的请求:

const rpcUrl = "https://YOUR_SUI_RPC_URL";

const response = await fetch(rpcUrl, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    jsonrpc: "2.0",
    id: 1,
    method: "suix_getBalance",
    params: ["0xYOUR_ADDRESS"]
  })
});

const result = await response.json();
console.log(result.result);

Sui 使用 SuiJSON,一种用于 Move 参数的受限 JSON 格式。大整数(如 u64u128)必须编码为字符串,数组值必须是同质的。如果您看到类型强制转换错误,请检查您的数字是否为字符串,以及地址格式是否正确。

常见的 Sui RPC 方法

Sui JSON-RPC API 使用 suix_sui_ 方法前缀。一些方法被广泛使用:

  • suix_getLatestCheckpointSequenceNumber — 获取当前检查点高度。
  • suix_getBalance — 获取地址的 SUI 或代币余额。
  • suix_getObject — 按对象 ID 获取对象数据。
  • suix_dryRunTransactionBlock — 在执行前模拟交易块。
  • suix_executeTransactionBlock — 提交已签名的交易块。
  • suix_getTransactions — 按过滤器查询交易块。

这些方法对于构建基本的 Sui 客户端很有用。例如,在提交交易之前,您应始终调用 suix_dryRunTransactionBlock 来检查 Move 函数是否接受您的输入,以及交易效果是否符合预期。

由于 Sui 基金会已弃用主网全节点上的 JSON-RPC,请检查提供商是否也支持 GraphQL 或 gRPC。包括 OnFinality 在内的几家 RPC 提供商正在添加或已经暴露替代数据访问方法。您可以在 Sui 网络页面 上查看当前的端点详细信息。

如何选择 Sui RPC 提供商

Sui RPC 提供商的选择应基于您所服务的工作负载。下表列出了最重要的标准:

标准检查内容重要性
主网/测试网访问提供商是否同时提供两个网络?开发和测试需要隔离的测试网和主网端点。
API 表面是否支持 JSON-RPC、GraphQL、gRPC 或 WebSocket?Sui 正在弃用 JSON-RPC,因此面向未来的访问很重要。
请求限制记录的吞吐量或公平使用政策是什么?公共端点有速率限制;生产应用需要可预测的容量。
历史数据是否提供检查点历史或归档访问?索引器和分析工具通常需要超出最近几个检查点的数据。
冗余端点是否由多个节点和区域支持?单个节点可能成为网络事件期间的瓶颈。
支持是否有入门指导和 24 小时支持?高流量发布受益于提前协调。
成本模型定价是基于请求、节点还是两者?正确的模型取决于您是需要共享 API 访问还是专用节点。

在承诺之前,从不同区域运行几个简单请求并测量延迟。然后查看提供商的文档,了解速率限制头、响应代码以及 JSON-RPC 和 GraphQL 行为之间的任何差异。

对于共享访问,OnFinality 的 API 服务 在支持的网络上提供托管 RPC 端点。对于需要隔离容量或自定义配置的团队,专用节点 为您提供自己的 Sui 全节点。比较选项时,请参阅 RPC 定价 和完整的 支持的 RPC 网络 列表。

常见的 Sui RPC 故障模式和调试

即使使用良好的提供商,您也会遇到 RPC 错误。最常见的模式是:

  • 429 Too Many Requests — 您超出了速率限制。使用指数退避、批处理请求,或转向付费或专用端点。
  • 503 Service Unavailable — 全节点或负载均衡器过载。检查提供商状态并添加故障转移到另一个提供商。
  • Invalid SuiJSON — 数字作为 JSON 数字而不是字符串发送,或数组不是同质的。查看 SuiJSON 强制转换规则。
  • Object not found — 对象 ID 或摘要不正确,或对象已被删除。验证对象在正确的网络上存在。
  • WebSocket 断开 — 订阅可能在长时间会话中丢失。使用重试/退避策略重新连接,并在重新连接后重新订阅。
  • 交易执行错误 — 首先使用 suix_dryRunTransactionBlock 在提交签名交易之前捕获 Move 级别的失败。

调试时,从使用 curl 等工具的单个请求开始,验证响应格式,然后转向完整的客户端流程。如果某个方法在一个提供商上有效而在另一个提供商上无效,请比较 API 版本和提供商文档中列出的支持方法。

对于最终性相关问题,在提交交易前后查询检查点序列号。如果交易没有立即可见,它可能仍在等待检查点认证。不要仅仅因为交易不在您收到的第一个响应中就假设它失败了。

关键要点

  • Sui RPC 网络将应用程序连接到 Sui 全节点,用于读取状态和提交交易。
  • 官方公共端点适合原型开发,但有速率限制,不建议用于生产。
  • Sui 正在从 JSON-RPC 迁移到 GraphQL 和 gRPC,因此新项目应确认提供商的长期 API 支持。
  • 根据网络覆盖、请求限制、历史数据、冗余和支持来评估提供商。
  • 使用 dryRunTransactionBlock 进行测试,尽可能批处理请求,并在启动前规划提供商故障转移。
  • OnFinality 通过 API 服务专用节点 提供托管的 Sui RPC 访问。查看 RPC 定价支持的网络 以选择合适的产品。

常见问题解答

什么是 Sui RPC 网络?

Sui RPC 网络是全节点端点和 API 的集合,允许客户端读取 Sui 数据、提交交易并订阅网络事件。这是钱包和 dApp 与 Sui 交互的标准方式。

我可以在生产环境中使用公共 Sui RPC 端点吗?

公共全节点端点可以处理小规模测试,但 Sui 自己的文档警告说,它大约每 30 秒限制 100 个请求。生产应用应使用托管 RPC 提供商或运行专用全节点。

Sui RPC 是否支持 WebSocket?

许多 Sui RPC 提供商支持 WebSocket 连接用于订阅,但可用性因提供商和网络而异。查看提供商的文档以了解支持的订阅方法和重新连接指南。

JSON-RPC 是否会在 Sui 上消失?

Sui 基金会已宣布计划在 2026 年禁用主网全节点上的 JSON-RPC,并建议新的集成使用 GraphQL 或 gRPC。在评估提供商时,询问当前支持哪些 API 风格以及计划支持哪些。

RPC 知识库

相关 RPC 内容

Network Rpc

关于RPC端点,我需要了解什么?

# 关于RPC端点,我需要了解什么? RPC端点至关重要,因为Web3应用程序依赖于稳定的端点访问来进行读取、交易、仪表盘和后端工作流。正确的设置应匹配您的工作负载,支持您所需的网络和测试网,使限制可见,并在共享RPC不再足够时为您提供扩展路径。 对于通用Web3构建者、基础设施负责人、DeFi团队...

Rpc Provider Selection

BNB Smart Chain RPC Provider: Endpoints, Evaluation Criteria, and How to Choose

Learn how to evaluate and select an RPC provider for BNB Smart Chain. This guide covers chain settings, default endpoints, a comparison of evaluation ...

Rpc Provider Selection

Which RPC provider offers the most reliable Ethereum RPC endpoints?

There is no single provider that is universally most reliable; reliability depends on your workload, geographic region, and required methods. Producti...

Blockchain Infrastructure

区块链节点托管:面向开发者和基础设施采购者的实用指南

# 区块链节点托管:面向开发者和基础设施采购者的实用指南 区块链节点托管是指在专用或云基础设施上运行和维护区块链节点——全节点、归档节点或验证者节点。无论您是构建去中心化应用、运行验证者节点,还是执行分析管道,选择自行托管还是使用托管节点提供商,都会直接影响应用的可靠性、延迟和运营开销。本指南涵盖了...

Rpc Provider Selection

专用Polygon节点:生产部署评估标准

当您的dApp超越共享RPC端点时,专用Polygon节点可提供一致的性能、低延迟以及对请求处理的完全控制。本文涵盖在选择专用Polygon节点提供商之前需要评估的内容,包括节点类型、基础设施隔离、同步方法和成本权衡。...

Rpc Provider Selection

如何为生产级 dApp 选择 TON RPC 提供商?

# 如何为生产级 dApp 选择 TON RPC 提供商? 开放网络(TON)是一个为大规模采用而设计的分片 Layer 1 区块链,为 Telegram Mini Apps、DeFi 协议和支付系统提供支持。选择合适的 TON RPC 提供商对于确保低延迟、高可靠性以及访问 ADNL 和归档数据等...

永远不用担心基础设施

OnFinality 消除了 DevOps 的繁重工作,让您能够更聪明、更快地构建。

开始