Logo
新用户订阅 RPC,首月享 6.5 折优惠查看优惠
RPC Assistant

Solana 端点:如何为生产应用连接 Solana RPC

摘要

Solana 端点是您的 dApp 或后端用于向 Solana 网络发送 JSON-RPC 请求的 URL。选择合适的端点会影响延迟、可靠性以及您的应用在负载下的扩展能力。本指南解释了什么是 Solana 端点、如何配置端点,以及如何评估生产环境中的提供商。

快速推荐:您应该使用哪个 Solana 端点?

如果您正在 Solana 上构建生产级 dApp 或后端服务,您需要一个能够处理持续流量且不会出现意外限流的端点。公共端点适合原型开发,但它们通常会限制请求频率,并且可能无法可靠地支持 WebSocket 订阅。对于生产环境,请考虑使用像 OnFinality 这样的托管 RPC 提供商,它们提供专用节点和具有明确使用限制的共享端点。请查看 RPC 定价支持的网络 页面,了解哪种方案适合您的工作负载。

什么是 Solana 端点?

Solana 端点是一个通过 HTTP 或 WebSocket 接受 JSON-RPC 请求的 URL。它是读取链上数据、提交交易以及订阅账户或程序更新的入口。Solana 的 JSON-RPC API 与以太坊的不同,因此您需要使用 getBalancegetRecentBlockhashsendTransaction 等方法,而不是 eth_getBalance

例如,OnFinality 为 Solana mainnet 提供的官方公共端点是 https://solana.api.onfinality.io/public,WebSocket 端点为 wss://solana.api.onfinality.io/public-ws。您可以在开发中使用这些端点,但对于生产环境,您应该评估专用或共享的私有端点。

Solana 端点配置:Mainnet 和 Devnet

当您连接 Solana 时,需要指定网络。mainnet 端点用于真实资产,而 devnet 用于测试。以下是一个快速参考:

网络RPC URL (OnFinality)WebSocket URL浏览器
Mainnethttps://solana.api.onfinality.io/publicwss://solana.api.onfinality.io/public-wsexplorer.solana.com
Devnet参见 Solana Devnet参见 Solana Devnetexplorer.solana.com

对于 devnet,您可以从水龙头获取 SOL 来测试交易。OnFinality 的 devnet 页面提供了端点和水龙头详细信息。

如何连接 Solana RPC:代码示例

以下是一个基本的 curl 请求,用于从 mainnet 端点获取当前 slot(最新区块高度):

curl https://solana.api.onfinality.io/public \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getSlot"}'

要获取钱包地址的余额:

curl https://solana.api.onfinality.io/public \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getBalance","params":["GgBq..."]}'

对于 JavaScript,您可以使用 @solana/web3.js 库:

import { Connection, PublicKey } from '@solana/web3.js';

const connection = new Connection('https://solana.api.onfinality.io/public', 'confirmed');
const address = new PublicKey('GgBq...');
const balance = await connection.getBalance(address);
console.log('Balance:', balance / 1e9, 'SOL');

对于 WebSocket 订阅,请使用 wss 端点:

const connection = new Connection('wss://solana.api.onfinality.io/public-ws', 'confirmed');
const subscriptionId = connection.onAccountChange(address, (accountInfo) => {
  console.log('Account changed:', accountInfo);
});

Solana 端点与 Solana RPC 提供商:有什么区别?

端点只是一个 URL。提供商是背后的基础设施——节点、负载均衡器、监控和支持。当您使用公共端点时,您依赖提供商的共享基础设施。对于生产环境,您需要考虑:

  • 速率限制:公共端点通常有严格的限制。请查看提供商的文档。
  • 可靠性:单个节点可能会宕机。拥有多个节点的提供商提供更好的正常运行时间。
  • WebSocket 支持:对于实时订阅至关重要。
  • 归档数据:对于历史查询(如使用特定 slot 的 getTransaction)是必需的。

OnFinality 提供共享和专用的 Solana 节点。专用节点为您提供隔离的资源并可预测的性能。请参阅 专用节点 了解详情。

如何为生产环境选择 Solana 端点提供商

在评估提供商时,请比较以下因素:

因素检查内容重要性
正常运行时间提供商的状态页面停机意味着您的应用失败
速率限制每秒请求数、每日配额避免负载下被限流
WebSocket订阅支持实时功能所需
归档数据历史访问分析或审计所需
支持SLA、响应时间对生产问题至关重要
定价透明、可预测避免意外账单

OnFinality 在 RPC 定价 页面上提供清晰的定价,并在 网络 页面上列出支持的网络。

常见的 Solana 端点错误及解决方法

以下是开发人员遇到的典型问题:

  • 429 Too Many Requests:您达到了速率限制。请使用私有端点或降低请求频率。
  • Connection refused:端点已关闭或 URL 错误。请检查网络并重试。
  • WebSocket connection failed:您的防火墙可能阻止了 wss。请确保您的环境允许 WebSocket 连接。
  • Slot skipped:节点落后。请使用基础设施更好的提供商。

Solana 端点安全与最佳实践

  • 切勿在客户端代码中暴露您的 API 密钥。请使用后端代理。
  • 使用 HTTPS/WSS 加密流量。
  • 设置请求超时,避免挂起。
  • 通过健康检查监控您的端点

关键要点

  • Solana 端点是用于 JSON-RPC 请求的 URL。
  • 公共端点用于开发;生产环境需要可靠的提供商。
  • OnFinality 提供公共和专用的 Solana 端点。
  • 在正常运行时间、速率限制、WebSocket、归档数据和支持方面比较提供商。

常见问题解答

什么是官方 Solana 端点? Solana mainnet 的官方公共端点是 https://solana.api.onfinality.io/public。对于 devnet,请参阅 Solana Devnet 页面。

如何免费获取 Solana 端点? 您可以在开发中使用公共端点。对于生产环境,请考虑具有更好限制的付费计划。

HTTP 和 WebSocket 端点有什么区别? HTTP 用于一次性请求;WebSocket 用于实时订阅。

我可以使用 Solana 端点进行 NFT 铸造吗? 可以,您可以发送交易和查询元数据,但您需要一个可靠的端点来处理负载。

如何在共享和专用 Solana 节点之间选择? 共享节点对于低流量具有成本效益;专用节点为高吞吐量提供隔离资源。请参阅 专用节点

RPC 知识库

相关 RPC 内容

网络 RPCAstar

Astar RPC 端点:链设置、公共节点与生产注意事项

Astar 是一个 Polkadot 平行链,支持 EVM 和 Wasm 智能合约。本页面列出了公共和提供商托管的 Astar RPC 端点、链配置详情,以及为生产级 dApp 选择 RPC 提供商的指南。...

测试网 RPCSui

Sui 测试网 RPC 与 gRPC:端点、水龙头与开发者配置

Sui 测试网 RPC 为开发者提供了以 gRPC 为先的途径来查询检查点、对象和余额;模拟和执行交易;并使用 OnFinality 托管端点流式传输实时活动。现代工作流使用 LedgerService 获取检查点数据,使用 StateService 读取对象和余额,使用 TransactionEx...

区块链基础设施Kusama

Kusama 验证人:要求、设置和运营权衡

了解运行 Kusama 验证人所需的条件,从硬件和质押要求到节点设置和持续运营。比较自托管与托管基础设施,并了解风险,包括削减和佣金。为新手和经验丰富的验证人提供实用指导。...

区块链基础设施

什么是节点基础设施,如何为Web3项目评估它?

节点基础设施是指运行区块链节点以支持去中心化应用的硬件、软件和网络组件。本指南解释了核心概念,提供了选择自托管和托管解决方案的决策清单,并为开发者和基础设施采购者提供了实用的评估标准。...

网络 RPCIntegritee

现在在哪里可以找到Integritee RPC端点?

Integritee是一个基于Polkadot SDK的隐私网络,曾使用可信执行环境处理敏感数据。该项目于2025年11月11日宣布网络关闭,因此公共RPC端点可能不再维护,开发者在依赖它们之前应验证网络状态。 本文涵盖Integritee的链设置、标准Substrate JSON-RPC调用,以及...

网络 RPCKaia

Klaytn API:开发者应了解哪些关于RPC、KAS和节点基础设施的内容?

Klaytn(现已更名为Kaia)是一个兼容EVM的Layer 1区块链。开发者可以通过JSON-RPC端点、用于更高级REST API的Klaytn API服务(KAS)或专用节点基础设施与之交互。本指南涵盖这些选项之间的差异、如何连接,以及在选择API提供商时应评估哪些方面。...

永远不用担心基础设施

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

开始