什么是适用于开发和生产的最佳 Solana 公共 RPC 端点?
关键要点
- Solana 为主网、开发网和测试网提供免费的公共 RPC 端点,但存在速率限制,不适合生产环境。
- 公共端点是共享基础设施;大量使用可能导致限流或连接断开。
- 对于生产级 dApp,专用 RPC 提供商提供更高的速率限制、更好的正常运行时间和更低的延迟。
- OnFinality 提供具有可扩展基础设施和全球覆盖的 Solana RPC 端点。
- 在早期开发期间始终使用本地验证器(solana-test-validator)以避免不必要的公共 RPC 调用。
- 缓存昂贵的 RPC 调用(如 getProgramAccounts)以减少负载并提高性能。
- 根据您的吞吐量需求、地理要求和预算选择 RPC 提供商。
官方 Solana 公共 RPC 端点
Solana 为每个集群提供公共 RPC 端点。这些端点免费使用,但存在显著限制。
官方端点如下:
- 主网:https://api.mainnet.solana.com
- 开发网:https://api.devnet.solana.com
- 测试网:https://api.testnet.solana.com
| 标准 | 检查内容 | 为什么重要 |
|---|---|---|
| 集群 | 端点 | 为目标网络使用正确的端点。 |
| 主网 | https://api.mainnet.solana.com | 使用真实 SOL 的生产网络。 |
| 开发网 | https://api.devnet.solana.com | 提供免费测试 SOL 的开发网络。 |
| 测试网 | https://api.testnet.solana.com | 验证器测试网络。 |
公共 RPC 端点的局限性
公共端点在所有用户之间共享,这引入了几个限制:
实施速率限制以防止滥用,通常为每个 IP 每 10 秒约 100 个请求。超出此限制会导致 HTTP 429 错误。
无正常运行时间保证:在高流量或维护期间,端点可能不可用。
由于共享基础设施,延迟可能更高且不一致。
不适合需要可靠性和性能的生产应用程序。
- 速率限制:每个 IP 约 100 请求/10 秒
- 无 SLA 或正常运行时间保证
- 更高且可变的延迟
- 可能基于 IP 的限流
何时升级到专用 RPC 提供商
如果您的应用程序服务于真实用户、处理高交易量或需要低延迟,您应考虑使用专用 RPC 提供商。
需要升级的迹象:
您持续达到公共端点的速率限制。
您的用户遇到交易确认时间缓慢。
您需要访问存档数据或高级 API,如带过滤器的 getProgramAccounts。
您需要地理分布的基础设施以服务全球用户。
- 具有真实用户的生产级 dApp
- 高频交易或 DeFi 机器人
- 需要存档数据的应用程序
- 需要低延迟的全球用户项目
OnFinality 如何解决公共 RPC 的局限性
OnFinality 提供专为生产工作负载设计的 Solana RPC 端点。我们的基础设施提供更高的速率限制、专用节点选项和全球覆盖。
主要优势包括:
更高的速率限制:扩展您的请求而不会达到上限。
专用节点:隔离资源以实现一致性能。
全球端点:为全球用户减少延迟。
SLA 支持的正常运行时间:为关键任务应用提供可靠基础设施。
易于集成:与标准 Solana JSON-RPC 方法兼容。
- 比公共端点更高的速率限制
- 专用节点选项以实现最大性能
- 全球端点分布
- SLA 支持的正常运行时间保证
- 与 Solana RPC 方法完全兼容
使用 Solana RPC 的最佳实践
无论您使用公共还是私有端点,遵循最佳实践都可以提高性能并降低成本。
缓存昂贵的调用:像 getProgramAccounts 和 getSignaturesForAddress 这样的方法应缓存并从您的后端提供。
使用 WebSocket 订阅进行实时更新,而不是轮询。
尽可能批量请求以减少开销。
在开发期间,使用 solana-test-validator 本地运行以避免访问公共端点。
监控您的 RPC 使用情况,并为速率限制或错误设置警报。
- 缓存 getProgramAccounts 和 getSignaturesForAddress
- 使用 WebSocket 订阅代替轮询
- 在一次调用中批量处理多个请求
- 使用本地验证器进行开发
- 监控 RPC 使用情况和错误
Solana 公共与私有 RPC 对比
下表总结了公共与私有 RPC 选项之间的主要区别。
| 标准 | 检查内容 | 为什么重要 |
|---|---|---|
| 速率限制 | 公共:约 100 请求/10 秒 | 私有:根据计划自定义限制 |
| 正常运行时间 SLA | 公共:无 | 私有:通常为 99.9%+ SLA |
| 延迟 | 公共:可变 | 私有:一致、低延迟 |
| 成本 | 公共:免费 | 私有:按需付费或订阅 |
| 专用资源 | 公共:共享 | 私有:可选的专用节点 |
开始使用 OnFinality Solana RPC
要开始使用 OnFinality 的 Solana RPC 端点,请按照以下步骤操作:
1. 在 OnFinality 注册免费账户。
2. 导航到 API 服务部分并选择 Solana。
3. 根据您的需求选择计划(共享或专用)。
4. 复制您的 API 端点并在应用程序中使用。
OnFinality 支持所有标准 Solana RPC 方法,包括 getBalance、getTransaction、sendTransaction 等。
- 提供免费层用于测试
- 简单的 API 密钥认证
- 完整的 JSON-RPC 兼容性
- 付费计划提供 24/7 支持
常见问题
Solana 公共 RPC 端点是什么?
主网的官方 Solana 公共 RPC 端点是 https://api.mainnet.solana.com。开发网使用 https://api.devnet.solana.com,测试网使用 https://api.testnet.solana.com。
Solana 公共 RPC 端点免费吗?
是的,它们免费使用,但存在速率限制且无正常运行时间保证。仅适用于开发和轻度使用。
Solana 公共 RPC 的速率限制是多少?
公共端点通常允许每个 IP 每 10 秒约 100 个请求。超出此限制会导致 HTTP 429(请求过多)错误。
我可以在生产环境中使用公共 RPC 吗?
不建议这样做。公共 RPC 端点缺乏可靠性,速率限制低,并且可能不可用。对于生产环境,请使用像 OnFinality 这样的专用 RPC 提供商。
如何从 OnFinality 获取 Solana RPC 端点?
在 OnFinality 注册,转到 API 服务,选择 Solana,然后选择一个计划。您将获得一个具有更高速率限制和更好可靠性的 API 端点。