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

如何连接到 Solana Devnet RPC 端点

摘要

Solana Devnet 是一个测试网,供开发者在不冒真实资金风险的情况下构建和测试 Solana 程序。本页说明如何连接到 Solana Devnet RPC 端点、从水龙头获取 SOL,以及调试常见问题。它还涵盖了如何为你的 devnet 测试选择公共或专用 RPC 基础设施。

快速建议:你应该使用哪个 Solana Devnet RPC?

如果你正在快速编写脚本或测试钱包集成,公共 devnet RPC 端点通常就足够了。公共端点免费且无需注册,但它们被许多用户共享,在高峰时段可能会受到速率限制或变慢。

如果你正在运行持续集成管道、对 dApp 进行负载测试,或构建需要稳定吞吐量的验证器或索引器,请考虑使用专用 RPC 节点。专用节点为你提供私有端点,具有可预测的性能且没有嘈杂的邻居。OnFinality 为 Solana Devnet 提供共享公共端点和专用节点。查看 Solana Devnet 网络页面 了解当前的可用性和选项。

对于大多数开发工作流程,从公共端点开始,当遇到速率限制或需要更高可靠性时切换到专用节点。本文解释了链设置、如何获取测试 SOL,以及如何调试常见问题。

什么是 Solana Devnet?

Solana Devnet 是一个测试网环境,模拟 Solana 主网,但使用没有真实价值的测试代币。它旨在让开发者部署和测试 Solana 程序(智能合约)和客户端应用程序,而无需冒真实 SOL 的风险。

Devnet 不同于 Solana Testnet,后者用于全网测试,并且可能频繁重置。Devnet 更稳定,是应用程序开发的推荐环境。它运行相同的验证器软件,并支持与主网相同的 RPC 方法,因此在 devnet 上运行的代码应该只需很少的更改即可在主网上运行。

链设置一览

以下是连接到 Solana Devnet 的关键详细信息:

设置
网络名称Solana Devnet
RPC 端点https://api.devnet.solana.com(公共)
WebSocket 端点wss://api.devnet.solana.com/(公共)
链 ID不适用(Solana 使用不同的模型)
原生货币SOL(测试代币)
小数位数9
浏览器https://explorer.solana.com/?cluster=devnet

注意:公共端点 https://api.devnet.solana.com 由 Solana Labs 运营,是大多数工具的默认端点。OnFinality 也为 Solana Devnet 提供公共端点,你可以在 Solana Devnet 网络页面 上找到。当你使用托管提供商时,通常会获得更可靠的连接以及分析、专用支持等附加功能。

从水龙头获取测试 SOL

要与 Solana Devnet 交互,你需要测试 SOL 来支付交易费用和租金。你可以从官方 Solana 水龙头获取测试 SOL,网址为 https://faucet.solana.com

  1. 连接你的钱包(例如 Phantom、Solflare)或粘贴你的钱包地址。
  2. 如果需要,完成验证码。
  3. 请求 SOL。水龙头通常发送少量 SOL,你可以在冷却期后再次请求。

如果水龙头资金不足或无法使用,你也可以在 Solana Discord#devnet-faucet 频道中请求 SOL,或使用第三方水龙头。一些 RPC 提供商也提供水龙头作为其服务的一部分。

使用常见工具连接到 Solana Devnet

使用 Solana CLI

Solana CLI 是与网络交互的最常见方式。将集群设置为 devnet 并配置你的密钥对:

solana config set --url https://api.devnet.solana.com
solana config get

要创建新的密钥对并空投测试 SOL:

solana-keygen new --outfile ~/.config/solana/devnet.json
solana config set --keypair ~/.config/solana/devnet.json
solana airdrop 1

使用 web3.js

对于 JavaScript 应用程序,使用 @solana/web3.js

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

// 使用公共 devnet 端点
const connection = new Connection('https://api.devnet.solana.com', 'confirmed');

// 或使用来自提供商的自定义 RPC 端点
// const connection = new Connection('https://your-provider-endpoint', 'confirmed');

async function getBalance(pubkey) {
  const balance = await connection.getBalance(pubkey);
  console.log(`Balance: ${balance / 1e9} SOL`);
}

使用钱包

大多数 Solana 钱包(Phantom、Solflare、Backpack)允许你在设置中切换到 Devnet。在 Phantom 中,转到“设置”>“开发者设置”>“更改网络”,然后选择“Devnet”。钱包将自动使用公共 devnet 端点。

调试常见的 Solana Devnet RPC 问题

1. 公共端点上的速率限制

api.devnet.solana.com 这样的公共端点是共享的,可能会限制请求速率,尤其是在高流量时期。如果你看到 HTTP 429 错误或超时,请考虑:

  • 降低请求频率
  • 使用专用 RPC 节点
  • 使用指数退避实现重试逻辑

2. 交易模拟失败

当交易失败时,你通常会收到 Transaction simulation failed 错误。使用 simulateTransaction RPC 方法获取更多详细信息:

curl https://api.devnet.solana.com -X POST -H "Content-Type: application/json" -d '
  {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "simulateTransaction",
    "params": [
      "<base58-encoded-transaction>",
      {
        "encoding": "base58",
        "replaceRecentBlockhash": true
      }
    ]
  }
'

响应将包含一个 logs 数组,显示程序日志和错误消息。常见问题包括资金不足、账户数据无效或程序错误。

3. 找不到区块哈希

如果你收到 Blockhash not found 错误,则表示你使用的最近区块哈希已过期。在发送交易之前获取新的区块哈希:

const { blockhash } = await connection.getLatestBlockhash('confirmed');
const transaction = new Transaction().recentBlockhash = blockhash;

4. WebSocket 断开连接

WebSocket 连接可能因网络问题或服务器重启而断开。在客户端中实现重新连接逻辑:

function connectWebSocket(url) {
  const ws = new WebSocket(url);
  ws.onclose = () => {
    console.log('WebSocket closed, reconnecting...');
    setTimeout(() => connectWebSocket(url), 1000);
  };
  return ws;
}

用于 devnet 的公共 RPC 与专用 RPC

当你搜索“rpc solana devnet”时,你会找到公共和商业 RPC 端点。以下比较可帮助你决定:

特性公共端点(例如 api.devnet.solana.com)专用 RPC(例如 OnFinality)
成本免费付费(参见 定价
速率限制有,通常严格更高限制或无限制
性能共享,可变专用,一致
可靠性可能宕机或缓慢托管,具有正常运行时间监控
支持仅社区提供商支持
附加功能分析、WebSocket、存档数据

对于生产级 dApp,你绝不会依赖公共 devnet 端点。但对于开发,公共端点就足够了,直到你需要更多。如果你正在构建严肃的项目,请考虑使用像 OnFinality 这样的提供商提供的专用节点,以避免意外。

如何选择 Solana Devnet RPC 提供商

如果你决定使用商业 RPC 提供商,请根据以下标准进行评估:

  • 网络覆盖:提供商是否支持 Solana Devnet?并非所有提供商都支持。查看 支持的网络 列表。
  • 性能:寻找低延迟和高吞吐量的提供商。一些提供商提供专用节点,为你提供私有端点。
  • 可靠性:检查提供商的正常运行时间历史以及他们是否提供 SLA。避免做出不切实际保证的提供商。
  • 功能:你是否需要 WebSocket 支持、存档数据或特定的 RPC 方法?一些提供商提供增强的 API。
  • 定价:比较定价模型。有些按请求收费,有些按节点收费。查看 RPC 定价 了解 OnFinality 的模型。

OnFinality 是一个不错的选择,因为它支持 Solana Devnet,并提供共享和专用节点。你可以从免费公共端点开始,并根据需要升级。

关键要点

  • Solana Devnet 是一个测试网,供开发者在不使用真实资金的情况下构建和测试 Solana 程序。
  • 默认的公共 RPC 端点是 https://api.devnet.solana.com,但可能会受到速率限制。
  • 从官方水龙头或社区渠道获取测试 SOL。
  • 使用 Solana CLI、web3.js 或钱包连接到 Devnet。
  • 调试常见问题,如速率限制、模拟失败和区块哈希错误。
  • 对于严肃的开发,请考虑使用像 OnFinality 这样的提供商提供的专用 RPC 节点,以获得更好的性能和可靠性。

常见问题解答

Solana Devnet 和 Testnet 有什么区别?

Solana Devnet 是用于应用程序开发的稳定测试网,而 Testnet 用于网络级测试,并且可能频繁重置。Devnet 是大多数开发者的推荐选择。

如何在 Solana Devnet 上获取 SOL?

你可以从官方水龙头 https://faucet.solana.com 或社区水龙头获取测试 SOL。你也可以在 Solana Discord 中请求 SOL。

我可以在 Devnet 上使用与主网相同的 RPC 方法吗?

可以,Solana Devnet 支持与主网相同的 JSON-RPC 方法,因此你可以无需更改即可测试代码。

公共 Solana Devnet RPC 有速率限制吗?

有,公共端点有速率限制以防止滥用。如果你需要更高的限制,请考虑使用专用 RPC 节点。

OnFinality 支持 Solana Devnet 吗?

支持,OnFinality 支持 Solana Devnet。访问 Solana Devnet 网络页面 了解更多详情并获取端点。

RPC 知识库

相关 RPC 内容

RPC 提供商选择

dRPC vs Alchemy:Web3开发者应比较什么?

dRPC和Alchemy服务于不同的开发者需求。Alchemy提供全栈平台,包含增强API、webhooks和分析功能,适合以EVM为主的项目。dRPC专注于多链访问,具有去中心化路由和清晰的速率限制。本文分解关键差异,帮助您根据工作负载、链和预算做出决定。...

网络 RPCAsset Hub

什么是 Asset Hub,如何连接它?

Asset Hub 是 Polkadot 和 Kusama 上的一个系统平行链,用于承载同质化代币、NFT 和其他数字资产。它提供了一个专门的环境,用于以低费用和高吞吐量创建、管理和转移资产。本文解释了什么是 Asset Hub,如何将您的 dApp 连接到它,以及如何为您的用例选择合适的 RPC ...

网络 RPCHyperliquid

关于 Hyperliquid RPC 端点,我需要了解什么?

# 关于 Hyperliquid RPC 端点,我需要了解什么? Hyperliquid RPC 端点之所以重要,是因为 Web3 应用程序依赖稳定的端点访问来进行读取、交易、仪表盘和后端工作流。正确的设置应匹配你的工作负载,支持你所需的网络和测试网,使限制可见,并在共享 RPC 不再足够时为你提供...

RPC 提供商选择Sui

专用 Sui gRPC 节点:流式传输、容量与隔离

专用 Sui gRPC 节点为您的团队提供隔离的全节点环境,用于高吞吐的 Sui 数据访问。您不必共享限速的公共或多租户端点,而是运行一个为索引器、后端服务和订阅消费者量身定制的节点。gRPC API 使用基于 HTTP/2 的 Protocol Buffers,使检查点、交易和事件流的效率高于轮询...

网络 RPCKaia

什么是 Kaia RPC 端点以及如何连接到 Kaia?

Kaia 是一个企业级 L1 区块链,拥有主网(Cypress)和测试网(Kairos)。开发人员可以使用公共 RPC 端点进行测试,但生产级应用通常需要专用提供商来确保可靠性和应对速率限制。本指南涵盖了可用的端点、提供商选项,以及如何为您的 Kaia 项目选择合适的基础设施。...

RPC 提供商选择Solana

在Solana质押集成中应关注哪些API

在Solana上集成质押需要使用能暴露账户数据、投票账户以及委托和提取等质押操作的API。合适的提供商应提供对 `getStakeActivation`、`getVoteAccounts` 和交易提交端点的可靠访问。本文涵盖了关键RPC方法以及选择质押dApp的API提供商时需要考虑的因素。...

永远不用担心基础设施

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

开始