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

Testnet Rpc

什么是BNB Chain测试网,如何在开发中使用它?

BNB Chain测试网(链ID 97)是一个公共的EVM兼容测试网络,镜像了BNB Smart Chain主网。开发者可以在不冒真实资金风险的情况下部署和测试智能合约、dApp以及跨链集成。本文涵盖链配置、水龙头、RPC端点、常见陷阱以及决策清单,帮助您快速上手。...

Network Rpc

Optimism RPC:如何连接OP主网并选择最佳端点

# Optimism RPC:如何连接OP主网并选择最佳端点 Optimism是以太坊领先的Layer 2扩容解决方案,采用Optimistic Rollups技术,在继承以太坊安全性的同时提供低成本、快速的交易。要与OP主网交互——无论是发送交易、查询链上数据还是构建dApp——您需要一个Opti...

Network Rpc

什么是BNB API,如何在BNB智能链开发中使用它?

# 什么是BNB API,如何在BNB智能链开发中使用它? BNB API 是指一组 JSON-RPC 端点,允许开发者与 BNB 智能链(BSC)进行交互。由于 BSC 与以太坊虚拟机(EVM)兼容,其 API 遵循与以太坊 JSON-RPC 相同的标准,这使得熟悉以太坊的开发者能够轻松上手。本指...

Network Rpc

什么是 Mangata X,如何连接其 RPC?

Mangata X 是一个社区拥有的、基于 Kusama 上 Substrate 应用链构建的全链去中心化交易所(DEX),旨在最小化 MEV 并实现跨链交换。本页介绍 Mangata X 是什么、如何连接其 RPC 端点,以及如何评估在其上构建的基础设施选项。...

Testnet Rpc

Polygon Amoy 测试网 RPC:端点、链设置和连接方法

Polygon Amoy 是 Polygon PoS 的官方测试网,取代了已弃用的 Mumbai 网络。本文提供链设置、公共 RPC 端点以及连接 dApp 或钱包的实用指南,并附有选择可靠 RPC 提供商进行开发和测试的技巧。...

Network Rpc

选择BNB Chain RPC提供商时应注意什么?

# 选择BNB Chain RPC提供商时应注意什么? 最佳的BNB Chain RPC提供商能为生产级dApp提供可靠的BNB RPC访问、清晰的请求限制、高可用性、实用的分析功能、测试网支持,以及在共享端点无法满足工作负载时提供专用BNB节点的路径。 BNB Chain被DeFi应用、交易所、钱...

永远不用担心基础设施

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

开始