摘要
Sui gRPC 提供商为应用提供了通往 Sui 数据的类型化、流式路径,但访问模式差异显著。公共 Foundation gRPC 端点可能适合原型和低流量工具;在依赖它们之前,请评估当前的限制、支持和生产条款。托管 gRPC 提供商运营共享端点,具备文档化的容量、监控和支持,使其成为 dApp、索引器和后端工作进程的实用默认选择。专用 Sui gRPC 节点在私有基础设施上隔离您的工作负载,当突发行为、延迟或合规要求超出共享容量时,使用专用节点是合理的。评估应以 gRPC 优先:确认 LedgerService 和 StateService 的读取支持,TransactionExecutionService 用于 ExecuteTransaction 和 SimulateTransaction,以及 SubscriptionService 用于 SubscribeCheckpoints、SubscribeTransactions 和 SubscribeEvents。在迁移生产流量之前,还要验证速率限制、突发配额、区域、故障转移和事件沟通。OnFinality 为主网和测试网提供托管 Sui gRPC 和 RPC 基础设施,并在工作负载需要隔离时提供通往专用节点的路径。请从 /networks/sui 开始查看当前的 Sui 网络支持。
关键要点
- 将 gRPC 访问模式与工作负载风险匹配:公共用于原型,托管共享用于大多数生产应用,专用用于隔离。
- 在集成之前验证 LedgerService、StateService、TransactionExecutionService 和 SubscriptionService。
- 在迁移流量之前,测试速率限制、突发行为、流稳定性、区域和故障转移。
- 专用 Sui gRPC 节点的合理性在于可预测的容量和隔离,而不仅仅是更高的流量。
Sui gRPC 访问模式:公共、托管、专用
Sui gRPC 访问通常分为三类。公共 Foundation gRPC 端点可能适用于原型开发,但在用于生产之前,请核实当前的访问条款、速率限制和支持情况。托管 gRPC 提供商运营共享端点,具备文档化的容量、监控和支持,是生产应用的实用默认选择。专用 Sui gRPC 节点为您的团队提供具有专用资源和配置的隔离端点,但需要更强的运营或商业承诺。
本指南以 gRPC 优先:全节点 JSON-RPC 被视为旧版或迁移接口。选择不在于给供应商排名;而在于将访问模式与工作负载需求相匹配。钱包可能从托管共享容量开始,而高频交易机器人或索引器可能从第一天就需要专用基础设施。
| 标准 | 检查内容 | 为什么重要 |
|---|---|---|
| 公共 Foundation gRPC | 免费公共端点、默认端口、速率限制 | 适用于原型和低流量工具;生产使用需要明确验证限制和支持 |
| 托管共享 gRPC | 提供商管理的端点、用量限制、支持 | 为大多数生产应用平衡容量和运营开销 |
| 专用 Sui gRPC 节点 | 私有端点、资源隔离、自定义配置 | 为关键工作负载提供可预测的性能和隔离 |
需要验证的核心 Sui gRPC 服务
提供商可能提供 gRPC 访问,但并非每个提供商都暴露相同的服务。在集成之前,请确认端点支持您工作负载所依赖的服务。对于读取,LedgerService 和 StateService 对于检查点、交易、对象和余额查询至关重要。对于交易工作流,TransactionExecutionService 应暴露 ExecuteTransaction 和 SimulateTransaction。对于实时数据,SubscriptionService 应暴露 SubscribeCheckpoints、SubscribeTransactions 和 SubscribeEvents。有关更广泛的 Sui RPC 指导,请参阅 /rpc-assistant/sui-rpc-guide。
- 确认 LedgerService 用于检查点和交易相关读取。
- 确认 StateService 用于对象状态和余额查询。
- 确认 TransactionExecutionService 用于 ExecuteTransaction 和 SimulateTransaction。
- 确认 SubscriptionService 用于流式工作流。
- 如果生成的客户端使用包装方法,请将它们映射回这些服务和方法名称,以避免集成意外。
流式订阅:检查点、交易、事件
当您需要链上活动的低延迟通知时,Sui gRPC 流式传输最有价值。SubscribeCheckpoints 在新检查点最终确定时发出通知,这对于同步索引器或监控链进度很有用。SubscribeTransactions 在处理区块时发出交易摘要或交易数据。SubscribeEvents 发出 Move 模块和包的事件数据,通常用于 DeFi 仪表板、游戏和警报系统。
由于 gRPC 使用 HTTP/2 和 protobuf,这些流比轮询 JSON-RPC 端点更高效。但是,请检查提供商在重连期间是否保持订阅稳定,以及您的客户端是否处理背压和重新订阅逻辑。
要进行快速冒烟测试,请使用如下占位符:grpcurl -H "authorization: Bearer $AUTH_TOKEN" $GRPC_ENDPOINT SubscriptionService/SubscribeCheckpoints。请将两个占位符替换为您提供商的值,并使用生成的客户端存根获取准确的方法路径。
容量规划、速率限制、突发行为、区域和支持
Sui gRPC 的容量规划应从请求画像开始,而不仅仅是一个 RPS 数字。按方法测量正常和峰值调用,包括流式会话和后端作业。询问提供商如何处理突发流量,是否应用方法权重或响应单位,以及流式连接是否与一元调用分开计数。
区域对于到验证者和用户的延迟很重要。验证 gRPC 端点部署在哪里,以及您是否可以选择或固定某个区域。需要检查的支持细节包括访问请求日志、用量仪表板、状态更新以及事件期间的明确升级路径。
| 标准 | 检查内容 | 为什么重要 |
|---|---|---|
| 速率限制 | 按方法、按 IP、按密钥和流式连接的限制 | 防止在流量高峰期间意外限流 |
| 突发行为 | 短期突发配额和排队策略 | 发布、铸造或市场事件可能超过稳态限制 |
| 区域 | 端点位置、路由以及从用户和工作进程到端点的延迟 | 全球应用需要一致的延迟 |
| 支持 | 状态页面、日志、用量分析和事件升级 | 调试生产问题需要可见性 |
生产可靠性、监控、故障转移和事件沟通
生产级 Sui gRPC 依赖需要的不仅仅是响应迅速的端点。检查提供商的状态页面、历史事件沟通,以及他们是否提供请求级日志或用量仪表板。您自己的客户端应实现带指数退避的重试、错误时的连接排空以及流的重新订阅逻辑。
在应用层规划故障转移。使用第二个 gRPC 提供商或专用备用端点可以减少提供商事件期间的停机时间。定期测试故障转移,而不仅仅是在中断期间。还要检查提供商如何传达维护窗口,以及他们是否公开计划维护信息。
- 查看提供商状态历史和事件更新。
- 如果可用,启用请求级日志或用量分析。
- 实现客户端重试、退避和流重新订阅。
- 在需要之前测试备用端点或提供商。
- 确认维护窗口是如何公告的。
何时需要专用 Sui gRPC 节点
专用 Sui gRPC 节点不仅仅是更大的共享端点。它们提供隔离资源、私有端点、自定义配置以及不受其他租户影响的可预测容量。当您的应用有严格的延迟要求、高持续吞吐量、业务关键型交易或需要专用基础设施的合规需求时,这是合理的。
可能需要专用基础设施的迹象包括:高峰时段共享端点限流、流式传输不一致、无法满足内部 SLA,或需要自定义节点设置。这个决定不是给提供商排名;而是隔离一个已超出共享容量的工作负载。有关操作指导,请参阅 /rpc-assistant/sui-rpc-node。
- 高持续请求量或流式扇出
- 对延迟敏感的交易、游戏或跨链桥操作
- 合规或数据隔离要求
- 频繁的共享容量限流或突发限制
- 需要自定义节点配置或监控
测试网 gRPC 访问与主网隔离
测试网 Sui gRPC 端点对于预发布环境、合约测试和 QA 自动化很有价值,但它们不是生产基础设施。保持测试网和主网配置明确,不要将测试网数据视为永久或保证。官方 Sui 水龙头是 https://faucet.sui.io;在依赖它进行自动化测试运行之前,请核实当前水龙头政策和限制。
使用 /rpc-assistant/sui-testnet-rpc 获取测试网特定的 RPC 详细信息,并将测试网调用与主网凭证分开。OnFinality 的 Sui 测试网支持应用于开发和预发布环境,而不是生产流量。
下一步:Sui 网络中心。
常见问题
Sui 是否支持用于生产数据访问的 gRPC?
是的。Sui 全节点暴露 gRPC 服务,包括 LedgerService、StateService、TransactionExecutionService 和 SubscriptionService。托管提供商可能提供 gRPC 端点,但并非所有提供商都这样做;在集成之前确认您需要的具体方法。
公共和托管 Sui gRPC 提供商有什么区别?
公共 Foundation 端点可能受到速率限制,并且有不同的支持条款。托管提供商运营共享端点,具备文档化的容量、监控、支持,并且通常有更清晰的升级路径。专用节点提供私有、隔离的基础设施。
为了流式传输 Sui 数据,我应该测试哪些 gRPC 方法?
SubscriptionService 中的 SubscribeCheckpoints、SubscribeTransactions 和 SubscribeEvents 是核心流式工作流。测试您的客户端能否在中断后重新连接并恢复流。
在确定使用之前,我如何测试 Sui gRPC 端点?
使用提供商的端点和认证令牌运行 grpcurl 冒烟测试,验证从 LedgerService 或 StateService 进行简单读取,然后测试您需要的每个流式方法。从您的部署区域测量延迟,并查看提供商的状态页面和支持流程。
我什么时候应该从共享的 Sui gRPC 迁移到专用?
当共享容量限制您的流量、突发期间流式传输变得不稳定、延迟未达到内部 SLA,或者您需要自定义节点配置或数据隔离时,应该迁移。专用节点关乎可预测的容量,而不仅仅是更高的限制。
我可以在生产中使用 Sui 测试网 gRPC 吗?
不可以。测试网 gRPC 用于预发布环境、合约测试和 QA。请将测试网数据视为临时的,并与主网凭证分开。使用官方水龙头 https://faucet.sui.io 并核实当前政策。