摘要
# 什么是 Solana RPC,如何选择合适的端点? Solana RPC(远程过程调用)是允许应用程序与 Solana 区块链交互的标准接口。每笔交易提交、账户查询和数据订阅都通过 RPC 端点进行。选择合适的 RPC 提供商对于性能、可靠性和成本至关重要,尤其是在应用程序扩展时。 本指南涵盖 Solana RPC 的基础知识,解释公共端点和私有端点之间的区别,并提供选择满足生产需求的提供商的可操作标准。
关键要点
- Solana RPC 是应用程序读取状态、发送交易和订阅 Solana 区块链更新的网关。
- 公共 RPC 端点(例如 api.mainnet.solana.com)是免费的,但有速率限制,不适合生产工作负载。
- 私有 RPC 提供商提供专用或共享节点,具有更高的速率限制、更好的可靠性和更低的延迟。
- 关键选择标准包括正常运行时间保证、地理分布、WebSocket 订阅支持和定价模型。
- 专用节点提供隔离资源和可预测的性能,而共享节点对于较低流量更具成本效益。
- OnFinality 提供 Solana RPC 端点,具有灵活的方案和适用于生产应用程序的专用节点选项。
- 在承诺使用提供商之前,始终使用实际负载测试端点并监控性能。
什么是 Solana RPC?
Solana RPC(远程过程调用)是一个 JSON-RPC 2.0 API,允许客户端与 Solana 区块链通信。它提供了查询账户余额、检索区块数据、发送交易以及通过 WebSocket 订阅实时事件的方法。每个与 Solana 交互的 dApp、钱包或机器人程序都依赖于 RPC 端点。
Solana 基金会为每个集群(主网、开发网、测试网)维护公共端点,但这些是共享基础设施,具有速率限制且没有 support terms。对于生产应用程序,私有 RPC 提供商对于确保可靠性和性能至关重要。
- HTTP 方法:getAccountInfo、getBalance、sendTransaction、simulateTransaction 等。
- WebSocket 方法:accountSubscribe、logsSubscribe、programSubscribe 等。
- 状态确认级别:processed、confirmed、finalized。
公共与私有 Solana RPC 端点
像 https://api.mainnet.solana.com 这样的公共端点是免费的,易于用于开发和测试。但是,它们施加了严格的速率限制(例如,每个 IP 每 10 秒 100 个请求),并且不保证正常运行时间或延迟。它们不适合具有真实用户的生产应用程序。
私有 RPC 提供商提供专用或共享节点,具有更高的速率限制、更低的延迟和服务级别协议(support terms)。它们通常提供附加功能,例如存档数据、WebSocket 支持和地理负载均衡。选择私有提供商是任何严肃的 Solana 项目的标准做法。
- 公共端点:免费、有速率限制、无 support terms,最适合原型设计。
- 私有端点:付费、可扩展、可靠,并提供支持和监控。
- OnFinality 提供跨多个集群的共享和专用 Solana RPC 节点。
| 标准 | 检查内容 | 为什么重要 |
|---|---|---|
| Workload fit | Does the provider support the Solana RPC methods and environments your product depends on? | A provider that works for a quick read may still be a poor fit for wallets, trading systems, indexers, or release pipelines. |
| Operational visibility | Can the team see request volume, errors, limits, and usage patterns? | Visibility makes it easier to debug failed requests and plan capacity before users feel the problem. |
| Scaling path | Is there a clear path from shared RPC to higher-capacity plans or dedicated nodes? | The right starting point should not force a rebuild when traffic or reliability requirements increase. |
选择 Solana RPC 提供商的关键标准
在评估 Solana RPC 提供商时,请考虑以下因素,以确保应用程序的性能和可靠性:
- Public endpoints: free, rate-limited, no support terms, best for prototyping.
- Private endpoints: paid, scalable, reliable, with support and monitoring.
- OnFinality offers both shared and dedicated Solana RPC nodes across multiple clusters.
| 标准 | 检查内容 | 为什么重要 |
|---|---|---|
| 正常运行时间 support terms | 寻找提供 documented availability 或更高正常运行时间保证的提供商。 | 停机直接影响用户体验,并可能导致交易丢失或收入损失。 |
| 速率限制 | 了解每个方案允许的最大每秒请求数(RPS)。 | 速率限制不足会导致请求节流和应用程序错误。 |
| 地理分布 | 检查提供商是否在多个区域(例如美国、欧盟、亚洲)拥有端点。 | 更近的端点可减少延迟并提高交易提交成功率。 |
| WebSocket 支持 | 确保提供商支持用于实时订阅的持久 WebSocket 连接。 | 许多 dApp 依赖 WebSocket 获取账户、交易和程序的实时更新。 |
| 存档数据访问 | 提供商是否提供超出当前插槽的历史状态访问? | 存档节点对于分析、回测和某些 dApp 功能是必需的。 |
| 定价模型 | 比较按需付费、月度订阅和专用节点定价。 | 选择与您的流量模式和预算相符的模型。 |
专用与共享 Solana RPC 节点
共享节点具有成本效益,并且对于许多应用程序来说已经足够。它们跨多个用户池化资源,这可能导致高峰使用期间性能变化。专用节点提供隔离的实例,具有保证的资源、一致的性能和对配置的完全控制。
OnFinality 提供这两种选项。共享节点非常适合开发、测试以及中低流量生产应用程序。专用节点推荐用于高吞吐量应用程序、交易机器人以及任何可预测延迟至关重要的用例。
- 共享节点:成本较低,资源争用,适合中等流量。
- 专用节点:成本较高,性能隔离,完全可定制。
- OnFinality 的专用 Solana 节点附带监控和 24/7 支持。
| 标准 | 检查内容 | 为什么重要 |
|---|---|---|
| support and monitoring options | Look for providers offering consistent availability availability documents. | Downtime directly impacts user experience and can lead to lost transactions or revenue. |
| Rate Limits | Understand the maximum requests per second (RPS) allowed on each plan. | Insufficient rate limits cause request throttling and application errors. |
| Geographic Distribution | Check if the provider has endpoints in multiple regions (e.g., US, EU, Asia). | Closer endpoints reduce latency and improve transaction submission success rates. |
| WebSocket Support | Ensure the provider supports persistent WebSocket connections for real-time subscriptions. | Many dApps rely on WebSocket for live updates on accounts, transactions, and programs. |
| Archive Data Access | Does the provider offer historical state access beyond the current slot? | Archive nodes are needed for analytics, backtesting, and certain dApp features. |
| Pricing Model | Compare pay-as-you-go, monthly subscriptions, and dedicated node pricing. | Choose a model that aligns with your traffic patterns and budget. |
如何测试和监控 Solana RPC 性能
在承诺使用提供商之前,使用 solana-bench 或自定义脚本等工具运行基准测试。测量常用方法(getBalance、getLatestBlockhash、sendTransaction)的延迟,并测试 WebSocket 订阅稳定性。在几天内监控正常运行时间和响应时间,以识别任何模式。
部署后,继续使用应用程序性能管理(APM)工具进行监控。设置高延迟或错误率的警报。许多提供商(包括 OnFinality)提供仪表板和 API 指标来帮助您跟踪性能。
- 使用 Solana CLI 测试端点:
solana balance --url <endpoint>。 - 使用自定义脚本模拟交易负载。
- 检查网络中断下的 WebSocket 重新连接行为。
开始使用 OnFinality Solana RPC
OnFinality 为主网、开发网和测试网提供可靠的 Solana RPC 端点。通过共享和专用节点选项,您可以无缝地从开发扩展到生产。所有端点都支持 HTTP 和 WebSocket,专用节点包括完整的存档访问。
要开始使用,请注册 OnFinality 账户,创建 API 密钥,然后选择您首选的 Solana 网络。您还可以探索专用节点选项以获得最大性能和控制。
- 即时 API 密钥生成。
- 支持主网、开发网和测试网。
- 具有可自定义配置的专用节点。
- 24/7 技术支持和监控。
Getting Started with OnFinality Solana RPC
OnFinality provides reliable Solana RPC endpoints for mainnet, devnet, and testnet. With both shared and dedicated node options, you can scale from development to production seamlessly. All endpoints support HTTP and WebSocket, and dedicated nodes include full archive access.
To get started, sign up for an OnFinality account, create an API key, and choose your preferred Solana network. You can also explore the dedicated node option for maximum performance and control.
- Instant API key generation.
- Support for mainnet, devnet, and testnet.
- Dedicated nodes with customizable configurations.
- 24/7 technical support and monitoring.
常见问题
Solana RPC 和 Solana JSON-RPC 有什么区别?
Solana RPC 和 Solana JSON-RPC 指的是同一事物:允许客户端与 Solana 区块链交互的 JSON-RPC 2.0 API。这两个术语可以互换使用。
我可以在生产环境中使用公共 Solana RPC 端点吗?
不可以,公共端点(例如 api.mainnet.solana.com)有速率限制且没有 support terms。它们仅用于开发和测试。对于生产环境,请使用像 OnFinality 这样的私有 RPC 提供商。
Solana 公共 RPC 的速率限制是多少?
公共主网端点通常允许每个 IP 每 10 秒 100 个请求。这对于大多数生产应用程序来说是不够的。
OnFinality 是否支持 Solana WebSocket 订阅?
是的,OnFinality Solana RPC 端点支持 HTTP 和 WebSocket 方法,包括 accountSubscribe、logsSubscribe 和 programSubscribe。
如何在共享和专用 Solana RPC 节点之间选择?
选择共享节点以获得较低成本和中等流量。选择专用节点以获得保证的性能、高吞吐量和完全控制。OnFinality 提供这两种选项。