Logo
RPC Assistant

如何为生产应用选择 Sui RPC 提供商

摘要

选择 Sui RPC 提供商意味着要根据你的具体工作负载平衡吞吐量、可靠性和成本。本指南介绍了在选择 Sui RPC 提供商时需要注意的事项,从 gRPC 支持和归档数据到故障转移策略,以及如何评估 OnFinality 等选项以满足你的生产需求。

快速建议:根据工作负载匹配提供商类型

在比较供应商之前,先确定哪种类型的 Sui RPC 访问适合你的应用。正确的选择取决于流量大小、延迟敏感度以及你希望承担的运维开销。

  • 公共端点(例如 https://fullnode.mainnet.sui.io:443)适用于原型验证和低流量工具。它们有速率限制,不适合生产工作负载。
  • 共享 RPC 服务(如 OnFinality 的公共 RPC)提供托管端点,具有合理的速率限制,无需节点维护。它们适合大多数 dApp、索引器和钱包,这些应用不需要自定义节点配置。
  • 专用节点提供具有专用资源的私有端点,非常适合高吞吐量应用、NFT 铸造或在负载下需要一致性能的应用。

如果你正在构建生产应用,请从共享 RPC 服务开始,并在流量增长时规划迁移到专用节点的路径。对于交易机器人或游戏等对时间敏感的场景,具有低延迟路由的专用节点通常值得投入。

Sui RPC 与其他链有何不同

Sui 是一个高吞吐量的 Layer 1,具有并行执行和基于 Move 的对象模型。其 RPC 接口是 JSON-RPC 2.0,但也支持 gRPC,用于高效的流式传输和订阅场景。与以太坊风格的链不同,Sui 使用检查点和纪元,其交易模型以对象为中心,而非基于账户。

这会影响你与链交互的方式:

  • 对象读取很常见,因此 suix_getObjectsuix_getDynamicField 经常被使用。
  • 交易区块通过摘要引用,而不是哈希。
  • 支持通过 WebSocket 进行订阅,但 gRPC 是高吞吐量事件流的首选方法。

在评估 Sui RPC 提供商时,检查他们是否同时支持 JSON-RPC 和 gRPC。一些提供商只提供 JSON-RPC,这可能会限制你高效流式传输数据的能力。

Sui RPC 提供商的关键评估标准

使用下表系统地比较提供商。这些标准超出了基本的正常运行时间和定价。

标准检查内容重要性
gRPC 支持提供商是否提供 gRPC 端点?gRPC 在流式传输和高数据量场景下更高效;并非所有提供商都支持。
归档数据能否查询历史状态和交易?索引器、分析和调试需要。
WebSocket 支持是否有稳定的 WebSocket 端点用于订阅?对实时 dApp 和监控至关重要。
速率限制每秒/每分钟的请求限制是多少?决定提供商能否处理你的流量峰值。
故障转移选项能否轻松切换到备用提供商?冗余对于生产可靠性至关重要。
地理分布端点是否在多个区域可用?减少全球用户的延迟。
SLA 和支持是否有正式的 SLA 和 24/7 支持?在出现问题时保护你的应用。

gRPC 与 JSON-RPC:应该使用哪个?

Sui 支持这两种协议,但它们用途不同。

  • JSON-RPC 是简单查询和变更的标准。它易于调试,适用于任何 HTTP 客户端。
  • gRPC 更适合流式传输和高吞吐量场景。它使用 HTTP/2 和 protobuf,减少了开销并支持双向流。

如果你正在构建需要快速响应事件的实时索引器或交易机器人,gRPC 是更好的选择。但是,并非所有提供商都提供 gRPC,因此在承诺之前请确认。

以下是一个使用 Sui SDK 在 Go 中进行 gRPC 订阅的简单示例:

package main

import (
    "context"
    "fmt"
    "github.com/MystenLabs/sui-go-sdk/sui"
)

func main() {
    client := sui.NewSuiClient("https://rpc.sui.io")
    // 订阅新交易
    sub, err := client.SubscribeTransaction(context.Background(), sui.TransactionFilter{})
    if err != nil {
        panic(err)
    }
    defer sub.Close()
    for {
        msg, err := sub.Recv()
        if err != nil {
            panic(err)
        }
        fmt.Println(msg)
    }
}

在承诺之前如何测试 Sui RPC 端点

在集成提供商之前,运行一些基本检查以验证端点是否正常工作并满足你的需求。

  1. 检查链 ID 和最新检查点,确认端点已同步。
  2. 发送一个简单的 JSON-RPC 请求,测量延迟。
  3. 测试 WebSocket 订阅,确保实时数据流动。
  4. 查询历史数据,验证是否需要归档支持。

以下是一个获取最新检查点的 curl 示例:

curl -X POST https://rpc.sui.io \
  -H 'Content-Type: application/json' \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "sui_getLatestCheckpointSequenceNumber",
    "params": []
  }'

如果响应缓慢或超时,这是一个危险信号。另外,检查提供商的状态页面,了解是否有正在发生的事件。

使用 Sui RPC 提供商时的常见陷阱

即使使用好的提供商,你也可能遇到问题。以下是常见错误以及如何避免它们。

  • 在生产环境中使用公共端点:公共端点有速率限制,可能会宕机。生产环境始终使用托管提供商。
  • 忽略速率限制:即使是付费提供商也有限制。监控你的使用情况,并在达到上限之前设置警报。
  • 没有规划故障转移:如果你的提供商中断,你的应用就会宕机。使用多个提供商或负载均衡器。
  • 假设所有提供商都支持 gRPC:并非所有提供商都支持。在构建流式管道之前验证。
  • 忽略归档数据:如果你需要历史数据,请确保你的提供商提供归档节点。有些只保留最近的状态。

OnFinality 如何融入你的 Sui RPC 策略

OnFinality 提供托管的 Sui RPC 端点和专用节点基础设施。你可以将 OnFinality 用作主要提供商,或作为故障转移选项以增加冗余。

  • 共享 RPC:OnFinality 为 Sui 提供公共 RPC 端点,适用于开发和中等生产流量。
  • 专用节点:对于高吞吐量应用,你可以启动具有专用资源和自定义配置的专用 Sui 节点。
  • 全球网络:OnFinality 的基础设施分布广泛,有助于减少全球用户的延迟。

查看 Sui 网络页面 获取最新的端点详细信息和支持的功能。有关定价,请参阅 RPC 定价 了解成本模型。

关键要点

  • Sui RPC 提供商在 gRPC 支持、归档数据和速率限制方面有所不同——根据你的工作负载进行评估。
  • 公共端点不适用于生产环境;请使用托管提供商或专用节点。
  • 在承诺之前始终测试端点,并规划使用多个提供商进行故障转移。
  • OnFinality 提供共享和专用的 Sui RPC 选项,适用于各种用例。

常见问题解答

最好的 Sui RPC 提供商是什么?

最好的提供商取决于你的需求。对于高吞吐量应用,寻找支持 gRPC 和专用节点的提供商。OnFinality 提供共享和专用选项;比较功能和定价以找到合适的方案。

Sui 支持 gRPC 吗?

是的,Sui 支持 gRPC,但并非所有提供商都已实现。如果你需要流式传输,请与你的提供商确认 gRPC 的可用性。

我可以将公共 Sui 端点用于生产环境吗?

不可以,公共端点有速率限制,对于生产环境不可靠。请使用托管提供商或专用节点。

如何在共享和专用 Sui RPC 之间选择?

共享 RPC 对于中等流量具有成本效益。专用节点更适合高吞吐量、低延迟和自定义需求。从共享开始,根据需要扩展。

如果我的 Sui RPC 提供商宕机了,我该怎么办?

制定故障转移计划。使用多个提供商或负载均衡器。OnFinality 可以作为备用提供商,确保正常运行时间。

有关支持的网络和端点的更多详细信息,请访问我们的 支持的 RPC 网络 页面。

RPC 知识库

相关 RPC 内容

Troubleshooting

'authentication failed: encrypted http response nonce mismatch' 是什么意思?如何修复?

'authentication failed: encrypted http response nonce mismatch' 错误是 TLS 重放保护失败。当加密 HTTP 响应中的 nonce 值与客户端期望的值不匹配时会发生此错误。最常见的原因是并发 HTTP/2 请求共享 TLS 会话 no...

Rpc Provider Selection

什么是Web3应用的最佳以太坊RPC API?

最佳以太坊RPC API为Web3应用提供可靠的主网和测试网访问、可预测的延迟、明确的请求限制、按需的归档或追踪支持,以及面向生产流量的专用基础设施升级路径。以太坊应用通常需要的不仅仅是免费的公共端点。钱包、DeFi工具、NFT产品、分析平台和索引器在上线前应比较RPC提供商的正常运行时间、方法支持...

Network Rpc

Ethereum API: 方法、端点及如何开始构建

以太坊API允许您的应用程序通过JSON-RPC与以太坊区块链交互。本文介绍常见方法、如何连接端点以及为生产应用选择RPC提供商的准则。...

Testnet Rpc

什么是 Polygon Amoy 测试网,如何使用?

Polygon Amoy 是 Polygon PoS 的官方测试网,锚定到 Ethereum Sepolia。它为开发者提供了一个低风险的环境,用于在上线主网之前部署、测试和优化智能合约及 dApp。要开始使用,您需要从水龙头获取测试网 POL 代币、兼容的钱包以及可靠的 RPC 端点 – OnFi...

Rpc Provider Selection

什么让 Solana RPC 变快,以及如何为你的应用选择最快的端点?

Solana RPC 的速度不仅仅取决于原始吞吐量:地理距离、网络路径、硬件调优以及你调用的方法都会影响延迟。本文解释了决定 RPC 性能的关键因素,并提供了评估提供商的实用清单,以便你选择满足应用需求且不会过度付费的端点。...

Rpc Provider Selection

对于区块链项目,最好的 JSON-RPC API 提供商是什么?

选择 JSON-RPC API 提供商是任何区块链项目关键的基础设施决策。最好的提供商取决于您的具体工作负载、链要求和预算。本文概述了关键的评估标准——从方法支持和数据访问到定价模型和故障转移策略——以帮助您做出明智的选择。...

永远不用担心基础设施

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

开始