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

什么是 Solana Devnet,以及如何在开发中使用它?

摘要

Solana Devnet 是一个免费的公共测试网络,开发者可以在其中部署程序、测试交易,并模拟主网行为,而无需使用真实的 SOL。它紧密模拟 Solana 运行时,使其成为在主网启动前构建和调试 dApp 的标准环境。

本指南涵盖如何连接 Devnet、从水龙头获取免费 SOL,以及选择可靠的 RPC 端点。您还将学习如何调试交易,以及何时 Devnet 是适合您项目的环境。

快速决策指南:Devnet 是否适合您?

在深入设置之前,最好先确认 Devnet 是否是您实际需要的环境。Solana 运行三个公共集群,每个集群服务于不同的目的:

集群用途SOL 价值使用者
Devnet应用程序开发和测试免费(假)dApp 开发者、QA 团队
Testnet协议和验证者测试免费(假)验证者、核心贡献者
Mainnet-beta生产流量真实资金终端用户、生产 dApp

如果您正在构建 dApp、编写智能合约或运行集成测试,Devnet 是正确的选择。如果您正在测试验证者行为或协议升级,Testnet 更合适。如果您准备发布,您将需要主网。

一旦确认 Devnet 适合,下一步是决定如何连接。您可以使用公共端点、运行自己的节点,或使用托管 RPC 服务。对于大多数开发工作,托管端点消除了同步和维护节点的开销,让您专注于代码。OnFinality 提供了一个 Solana Devnet RPC 端点,您可以在开发期间免费使用。

什么是 Solana Devnet?

Solana Devnet 是一个公共测试网络,模拟 Solana 主网运行时。它使用相同的软件、相同的账户模型和相同的交易处理管道,但使用没有货币价值的假 SOL。这使其成为一个安全的沙盒,用于部署程序、测试代币转移和调试边缘情况,而无需承担财务风险。

Devnet 会定期重置,因此您不应将其视为持久环境。重置时间表由 Solana 团队宣布,重置后所有账户和余额都会被清除。这也是为什么您应该将部署脚本和配置保存在版本控制中的原因之一。

Devnet 与 Testnet 与 Mainnet:使用哪一个

Solana 的三个集群经常被混淆,但它们扮演着不同的角色:

  • Devnet 面向应用程序开发者。它在运行时行为方面最接近主网,是您端到端测试 dApp 的地方。
  • Testnet 面向验证者操作员和协议开发者。它运行最新的协议更改,用于测试共识和网络升级。
  • Mainnet-beta 是生产网络。它使用真实的 SOL,是您的用户与您部署的应用程序交互的地方。

对于大多数 Web3 开发者来说,Devnet 是起点。它为您提供了一个真实的环境,而无需承担主网的成本或风险。

如何连接 Solana Devnet

根据您的工具,有几种方式可以连接到 Devnet。最常见的是 Solana CLI、JavaScript 库(如 @solana/web3.js)和钱包配置。

使用 Solana CLI

Solana CLI 允许您使用一条命令将活动集群切换到 Devnet:

solana config set --url devnet

您可以使用以下命令验证配置:

solana config get

输出应显示 RPC URL: https://api.devnet.solana.com(默认公共端点)。如果您更喜欢使用托管端点,可以显式设置 URL:

solana config set --url https://solana-devnet.api.onfinality.io/public

将 URL 替换为您要使用的端点。OnFinality 的 Solana Devnet 网络页面 列出了当前的公共端点。

使用 JavaScript (web3.js)

如果您正在使用 JavaScript 构建 dApp,您可以创建一个指向 Devnet 的 Connection 对象:

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

const connection = new Connection(clusterApiUrl('devnet'), 'confirmed');

对于自定义端点,直接传递 URL:

const connection = new Connection('https://solana-devnet.api.onfinality.io/public', 'confirmed');

使用钱包(Phantom、Solflare)

大多数 Solana 钱包在其开发者设置中支持 Devnet。例如,在 Phantom 中:

  1. 打开设置 → 开发者设置。
  2. 启用测试网模式。
  3. 选择 Devnet。

您的钱包地址在所有集群中保持不变,但余额是分开的。您需要向您的地址空投 Devnet SOL,然后才能支付交易费用。

从 Devnet 水龙头获取免费 SOL

Devnet 交易需要 SOL 作为费用,但 SOL 是免费的。官方 Solana Devnet 水龙头 是最可靠的来源。它允许每个 IP 地址有限数量的请求,您可以通过连接 GitHub 账户来增加限制。

您也可以直接从 CLI 请求空投:

solana airdrop 1 <YOUR_WALLET_ADDRESS> --url devnet

CLI 空投很方便,但可能受到速率限制。如果您需要更多数量用于测试,网络水龙头通常是更好的选择。

选择 Devnet RPC 端点

您的 RPC 端点是您的 dApp 与 Devnet 集群之间的网关。默认公共端点 (https://api.devnet.solana.com) 适用于轻度使用,但在高峰时段可能会变得拥堵。对于严肃的开发,请考虑托管 RPC 提供商。

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

因素检查什么为什么重要
速率限制每秒请求数和每日配额防止您的应用在测试期间被限流
正常运行时间历史可用性确保您的 CI/CD 管道不会因端点停机而失败
WebSocket 支持实时订阅支持账户和程序订阅需要
存档数据访问历史状态对调试和分析有用
专用选项私有端点或专用节点将您的流量与嘈杂的邻居隔离

OnFinality 为 Solana Devnet 提供共享和 专用节点 选项。您可以从免费公共端点开始,随着测试需求的增长进行升级。有关详细信息,请参阅我们的 RPC 定价。

调试常见的 Devnet 问题

即使使用可靠的端点,您也会遇到问题。以下是最常见的问题及其解决方法:

交易模拟错误

如果交易在模拟期间失败,错误消息通常指向失败的指令。使用 Solana Explorer 检查交易并查找特定的错误代码。

余额不足

如果您看到 insufficient funds,您的钱包没有足够的 Devnet SOL。使用水龙头向您的地址空投更多 SOL。

速率限制

如果您收到 429 Too Many Requests,您正在达到 RPC 端点的速率限制。降低请求频率或切换到具有更高限制的提供商。

WebSocket 断开

如果端点过载,WebSocket 连接可能会断开。在您的客户端中实现重连逻辑以优雅地处理此问题。

关键要点

  • Solana Devnet 是一个免费的测试网络,用于构建和测试 dApp,无需真实 SOL。
  • 使用 Devnet 进行应用程序开发,Testnet 进行协议测试,Mainnet 用于生产。
  • 通过 CLI、JavaScript 或钱包设置连接;选择适合您工作负载的 RPC 端点。
  • 从官方水龙头或通过 CLI 空投获取免费 SOL。
  • 根据速率限制、正常运行时间、WebSocket 支持和专用选项评估 RPC 提供商。
  • 使用 Solana Explorer 调试交易失败,并检查常见问题,如余额不足或速率限制。

常见问题解答

Solana Devnet 和 Testnet 有什么区别?

Devnet 供应用程序开发者测试 dApp 和智能合约。Testnet 供验证者操作员和核心开发者测试协议升级和网络行为。

如何在 Devnet 上获取免费 SOL?

使用官方 Solana Devnet 水龙头 或从 CLI 运行 solana airdrop。两种方法都提供免费 SOL 用于测试。

我可以在 Devnet 和 Mainnet 上使用相同的钱包地址吗?

可以,您的钱包地址在所有 Solana 集群中相同,但余额是分开的。您需要向您的地址空投 Devnet SOL 以进行 Devnet 交易。

Devnet 会重置吗?

是的,Solana 团队会定期重置 Devnet。所有账户和余额都会被清除,因此不要依赖 Devnet 来持久化状态。

我应该为 Devnet 使用哪个 RPC 端点?

默认公共端点适用于轻度测试,但对于生产级开发,请考虑像 OnFinality 这样的托管 RPC 提供商。查看 Solana Devnet 网络页面 以获取当前公共端点和选项。

RPC 知识库

相关 RPC 内容

测试网 RPCZenChain

如何连接 ZenChain 测试网:RPC 端点、水龙头和开发者设置

ZenChain 测试网是一个兼容 EVM 的比特币 Layer 1 测试环境,用于构建和测试具有比特币安全性和以太坊可编程性的 dApp。本指南涵盖 RPC 端点、链设置、水龙头访问以及开发者的逐步设置。...

网络 RPCUnichain

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

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

RPC 提供商选择Ethereum

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

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

RPC 提供商选择Solana

具有企业级支持的 Solana RPC 提供商:评估要点

为生产工作负载选择 Solana RPC 提供商时,需要评估的不仅仅是原始吞吐量。企业级支持意味着拥有明确的 SLA、专用容量和响应迅速的升级路径。本文概述了关键标准——从端点可靠性到故障转移策略——并解释了如何针对您的特定用例评估提供商。...

网络 RPCSolana

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

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

网络 RPCEfinity

Fantom 节点:它是什么以及如何连接到 Fantom Opera?

Fantom 节点是维护 Fantom Opera 区块链状态并提供 JSON-RPC 请求服务的客户端。您可以运行自己的节点,也可以使用托管的 RPC 服务。本文解释了 Fantom 节点的作用、如何通过 RPC 连接到 Fantom Opera,以及如何在运行基础设施和使用服务提供商之间做出选择...

永远不用担心基础设施

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

开始