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

什么是 Solana API,如何使用它?

摘要

# Solana API 指南:RPC 端点、方法及最佳实践 Solana API 是一个 JSON-RPC 接口,允许开发者与 Solana 区块链交互。它提供了读取网络状态、发送交易、模拟执行以及订阅实时更新的方法。本指南涵盖了核心 API 方法、如何连接到不同集群,以及为生产应用选择可靠 RPC 提供商的注意事项。

关键要点

  • Solana API 使用 JSON-RPC 2.0 协议,通过 HTTP POST 和 WebSocket 进行订阅。
  • 关键的 HTTP 方法包括 getBalance、getTransaction、sendTransaction 和 getProgramAccounts。
  • 公共 RPC 端点有速率限制,不适合生产环境;应使用专用提供商。
  • Solana 提供三个主要集群:Mainnet、Devnet 和 Testnet,各有不同用途。
  • WebSocket 订阅支持账户、日志和程序的实时更新。
  • 选择低延迟和高可靠性的提供商对用户体验至关重要。
  • OnFinality 提供可扩展的 Solana RPC 端点,并支持生产工作负载的专用节点选项。

什么是 Solana API?

Solana API 是一个 JSON-RPC 接口,使应用程序能够与 Solana 区块链通信。它遵循 JSON-RPC 2.0 规范,支持 HTTP 和 WebSocket 传输。通过此 API,开发者可以查询账户余额、发送交易、获取区块数据以及订阅实时事件。

官方 Solana 文档提供了全面的 RPC 方法列表,但对于生产应用,由于速率限制和可靠性问题,不建议使用公共端点。相反,开发者通常使用提供专用基础设施的第三方 RPC 提供商。

  • Use HTTP POST for request-response methods.
  • Set Content-Type: application/json.
  • Check the error object in responses for RPC-specific failures.

Solana API 方法概览

Solana API 包含数十种方法,分为以下几类:账户、代币、交易、区块、集群信息和经济数据。一些最常用的方法包括:

  • getBalance – 返回账户的 SOL 余额。
  • getTransaction – 根据签名检索已确认的交易。
  • sendTransaction – 向集群提交已签名的交易。
  • getProgramAccounts – 返回某个程序拥有的所有账户。
  • getLatestBlockhash – 获取用于构建交易的最新区块哈希。
  • simulateTransaction – 模拟交易而不提交。
  • getSlot – 返回当前槽位号。
  • getBlock – 根据槽位号获取区块。

连接到 Solana 集群

Solana 运行三个主要集群:Mainnet、Devnet 和 Testnet。每个集群都有公共 RPC 端点,但这些端点是共享且受速率限制的。对于生产应用,应使用提供更高吞吐量和可靠性的专用 RPC 提供商。

公共端点如下:

Mainnet: https://api.mainnet.solana.com

Devnet: https://api.devnet.solana.com

Testnet: https://api.testnet.solana.com

  • Mainnet – 使用真实 SOL 的生产网络。用于正式 dApp。
  • Devnet – 开发者测试网络,可通过水龙头获取免费 SOL。适合开发和测试。
  • Testnet – 验证者测试网络。用于网络性能测试。

发起您的第一个 API 调用

以下是一个使用 curl 通过公共端点调用 Solana Mainnet 上 getSlot 方法的简单示例:

curl https://api.mainnet.solana.com -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"getSlot","params":[]}'

对于生产环境,您应将公共端点替换为提供商特定的 URL。例如,使用 OnFinality 的 Solana RPC 端点:

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

  • 1. Call getLatestBlockhash
  • 2. Build and sign transaction with your keypair
  • 3. Test with simulateTransaction
  • 4. Submit with sendTransaction
  • 5. Confirm with getSignatureStatuses or signatureSubscribe

WebSocket 订阅

Solana API 还支持 WebSocket 订阅以获取实时更新。您可以订阅账户变更、程序日志和槽位更新。这对于构建响应链上事件的 dApp 非常有用。

订阅账户变更的示例:

wscat -c wss://api.mainnet.solana.com

> {"jsonrpc":"2.0","id":1,"method":"accountSubscribe","params":["PUBLIC_KEY",{"commitment":"finalized"}]}

  • accountSubscribe – account data changes
  • logsSubscribe – program logs
  • programSubscribe – program-owned account updates
  • signatureSubscribe – transaction confirmation
  • slotSubscribe – new slot notifications

选择 Solana RPC 提供商

在选择生产级 Solana RPC 提供商时,请考虑以下标准:

标准检查内容为什么重要
正常运行时间与可靠性服务等级协议(support terms)和历史正常运行时间统计。停机可能导致应用中断并失去用户信任。
延迟端点的地理分布和响应时间。低延迟可改善用户体验,尤其对于实时应用。
速率限制每秒请求数(RPS)限制以及是否可根据需求扩展。速率限制可能在高峰使用期间限制您的应用。
专用节点 vs 共享节点提供商是否提供具有有保障资源的专用节点。专用节点提供一致的性能,对于高流量应用至关重要。
网络支持Mainnet、Devnet 和 Testnet 端点的可用性。您需要访问测试网络以进行开发和预发布。

为什么选择 OnFinality 的 Solana RPC?

OnFinality 提供可靠的 Solana RPC 端点,支持 Mainnet、Devnet 和 Testnet。我们的基础设施专为生产工作负载设计,具有低延迟和高可用性。无论您需要共享公共端点还是专用节点,OnFinality 都提供灵活的选项以满足您的规模需求。

立即使用免费 API 密钥开始体验 OnFinality 带来的性能和可靠性。

  • Test the exact request patterns your frontend and backend will use.
  • Confirm WebSocket access if you use subscriptions.
  • Check archive support if you need historical data beyond recent slots.
  • Verify rate limits and upgrade paths for sustained traffic.
  • Use devnet for staging and test SOL from the official faucet.
  • Monitor error rates, latency, and usage before full rollout.

常见问题

什么是 Solana API?

Solana API 是一个 JSON-RPC 接口,允许开发者与 Solana 区块链交互。它提供了查询网络状态、发送交易和订阅实时事件的方法。

如何获取 Solana API 密钥?

您可以从 OnFinality 等提供商处获取免费 API 密钥。只需注册并创建 API 密钥即可访问 Solana RPC 端点。

Solana Mainnet、Devnet 和 Testnet 之间有什么区别?

Mainnet 是使用真实 SOL 的生产网络。Devnet 供开发者使用免费 SOL 测试应用。Testnet 用于验证者测试和网络性能。

我可以在生产环境中使用公共 Solana RPC 端点吗?

公共端点有速率限制且是共享的,不适合生产环境。请使用专用 RPC 提供商以获得可靠、可扩展的访问。

最常见的 Solana API 方法有哪些?

常见方法包括 getBalance、getTransaction、sendTransaction、getProgramAccounts、getLatestBlockhash 和 getSlot。

RPC 知识库

相关 RPC 内容

RPC 提供商选择Efinity

如何为专用节点访问选择 Solana RPC 提供商

专用 Solana RPC 节点让您可以独占访问单个节点实例,避免共享端点常见的噪声邻居和速率限制争用。本文解释了专用节点访问对 Solana 工作负载的意义,以及如何根据吞吐量、可靠性和支持来评估提供商。 我们比较了公共、共享和专用 Solana RPC 选项,然后介绍了关键标准(如请求限制、We...

网络 RPCIntegritee

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

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

网络 RPCArbitrum

Arbitrum 公共 RPC:端点、链设置和提供商选择

Arbitrum One 和 Arbitrum Sepolia 的公共 RPC 端点让开发者无需运行节点即可连接钱包和 dApp。本文涵盖官方端点、链设置,以及如何评估公共与托管 RPC 提供商以用于生产工作负载。...

区块链基础设施Kusama

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

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

网络 RPCEfinity

Sonic RPC 节点:如何连接 Sonic 主网

Sonic 是一个兼容 EVM 的第 1 层区块链,专为高吞吐量的 DeFi 应用而设计。要与 Sonic 交互,开发者需要一个可靠的 RPC 节点来处理 JSON-RPC 请求、WebSocket 订阅和归档数据查询。 本页介绍如何配置您的钱包或 dApp 以使用 Sonic RPC 端点,RPC...

RPC 提供商选择Ethereum

什么是以太坊RPC节点,如何选择?

以太坊RPC节点是暴露JSON-RPC API的服务器,允许应用程序读取区块链数据并发送交易。选择正确的节点——无论是自托管、共享还是专用——取决于您的吞吐量、可靠性和成本需求。本指南涵盖以太坊RPC节点的工作原理、关键评估标准以及入门实践步骤。...

永远不用担心基础设施

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

开始