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 内容

测试网 RPCSolana

Devnet Solana RPC:端点、水龙头和调试指南

了解如何连接到 Solana Devnet RPC 端点、从水龙头获取测试 SOL 并调试常见问题。本指南涵盖链设置、请求示例以及如何在开发中选择公共和专用 RPC 基础设施。...

RPC 提供商选择Solana

如何评估用于生产环境的地理分布式 Solana RPC 服务?

地理分布式 Solana RPC 之所以重要,是因为 Solana 的时隙时间和确认窗口很短,因此用户、后端和验证者集合之间的物理距离直接决定了交易上链的速度。单区域端点可能在仪表板上看起来没问题,但其他大洲的用户却要承受延迟。 本文解释了如何评估地理分布式 Solana RPC 服务:需要测量什么...

测试网 RPCSolana

如何选择 Solana 开发网 RPC 端点?

# 如何选择 Solana 开发网 RPC 端点? Solana 开发网 RPC 很重要,因为 Solana 开发网应用依赖稳定的端点访问来进行读取、交易、仪表盘和后端工作流。合适的提供商应匹配你的工作负载,支持你所需的网络和测试网,使限制透明化,并在共享 RPC 不再足够时提供扩展路径。 对于准备...

RPC 提供商选择

Chainstack vs Other RPC Providers: What to Evaluate Before Choosing

A practical comparison guide for developers evaluating Chainstack against other RPC providers. Covers key criteria including pricing models, network s...

网络 RPCBNB Chain

如何查找和配置 BNB Smart Chain 端点?

BNB Smart Chain(BSC)公开了 JSON-RPC 端点,用于读取区块链数据和发送交易。mainnet 端点是 https://bsc-dataseed.bnbchain.org,chain ID 为 56;testnet 端点使用 chain ID 97。公共端点适合原型开发,但存在...

网络 RPCGnosis

什么是 Gnosis Chain RPC,如何选择合适的端点?

Gnosis Chain RPC 端点允许开发者通过 JSON-RPC 调用与 Gnosis Chain 网络交互。本文介绍了链设置、如何评估提供商以及在生产 dApp 中选择基础设施时应避免的常见陷阱。...

永远不用担心基础设施

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

开始