在 Solana 上获取测试 SOL 的完整指南

·

在 Solana 上开发应用非常有趣。但在正式上线前,通常最好在 Localhost、Devnet 或 Testnet 环境中测试代码,以避免损失真实代币。不过,在这些环境中进行操作,你需要相应集群上的 SOL 代币来支付交易费用和租金。本指南将详细介绍五种获取测试 SOL 的方法,助你顺利开展开发工作。

准备工作

在开始之前,请确保你已准备好以下工具和环境:

了解 Solana 集群

在请求空投之前,我们先快速回顾一下 Solana 的集群概念,因为请求空投时需要指定特定的集群。Solana 集群是一组验证器,它们协同工作以处理客户端交易并维护账本的完整性。多个集群可以共存。Solana 维护了三个主要集群,每个集群都有不同的用途:

除了上述三个集群,Solana CLI 还允许你在本地启动一个测试验证器,在机器上运行完整的区块链集群。本地集群可以快速部署和测试程序,与 Devnet 和 Testnet 一样,Localhost 的代币也不是真实的。

方法一:使用 Solana CLI 获取测试 SOL

第一种方法是使用 Solana CLI 请求空投。如果你尚未安装 Solana CLI,请根据你的操作系统环境按照官方指南进行安装。安装成功后,打开终端并输入以下命令来验证安装:

solana --version

你应该能看到类似以下的输出:

solana-cli 1.10.32 (src:da6ab5e2; feat:3064830473)

接下来,准备好你的钱包地址(可以从 Phantom 钱包中复制),然后使用以下命令请求空投 1 SOL:

solana airdrop 1 YOUR_PHANTOM_WALLET_ADDRESS -u devnet  # 用于 Devnet
# 或
solana airdrop 1 YOUR_PHANTOM_WALLET_ADDRESS -u testnet  # 用于 Testnet
# 或
solana airdrop 1 YOUR_PHANTOM_WALLET_ADDRESS -u localhost  # 用于 Localhost(需本地验证器运行中)
注意:目前,Devnet 上每次请求空投最多 2 SOL,Testnet 上每次最多 1 SOL,两者都可能受到每日限制。

交易完成后,你会看到交易签名确认。你可以在 Phantom 钱包中查看余额:点击左上角图标,选择“Developer Settings”,然后“Change Network”,并选择你请求空投的网络(如“Devnet”)。

如果遇到问题,可以运行 solana airdrop -h 查看帮助选项。

方法二:使用 Solana JavaScript API 获取测试 SOL

Solana Web3 允许你使用 JavaScript、cURL 或 Python 进行 RPC 调用。其中,requestAirdrop 方法可以在适用的集群上投放开发代币。以下是使用 JavaScript 的示例。

首先,创建项目目录和文件:

mkdir airdrop_sol
cd airdrop_sol
echo> airdrop.js

安装 Solana Web3 依赖:

yarn init -y
yarn add @solana/web3.js@1

npm init -y
npm install --save @solana/web3.js@1

打开 airdrop.js 并添加以下代码:

const SOLANA = require('@solana/web3.js');
const { Connection, PublicKey, LAMPORTS_PER_SOL, clusterApiUrl } = SOLANA;
const SOLANA_CONNECTION = new Connection(clusterApiUrl('devnet'));
const WALLET_ADDRESS = 'YOUR_PHANTOM_WALLET_ADDRESS'; // 替换为你的钱包地址
const AIRDROP_AMOUNT = 1 * LAMPORTS_PER_SOL; // 1 SOL

(async () => {
  console.log(`Requesting airdrop for ${WALLET_ADDRESS}`);
  const signature = await SOLANA_CONNECTION.requestAirdrop(
    new PublicKey(WALLET_ADDRESS),
    AIRDROP_AMOUNT
  );
  console.log(`Tx Complete: https://explorer.solana.com/tx/${signature}?cluster=devnet`);
})();

脚本说明:

  1. 导入 Solana Web3 库并解构必要的类、方法和常量。
  2. 创建 SOLANA_CONNECTION 变量以连接到 Devnet 集群。
  3. 粘贴你的钱包地址。
  4. 设置 AIRDROP_AMOUNT 为 1 SOL(以 lamports 为单位)。
  5. 使用 requestAirdrop 方法请求空投,并记录交易 ID。
  6. 输出交易链接以便查看。

运行脚本:

node airdrop.js

你应该能看到交易完成的确认信息。

👉 查看实时交易状态工具

方法三:使用 QuickNode 多链水龙头

如果你不想自己运行脚本,QuickNode 提供了一个易用的多链水龙头。只需访问 QuickNode Multi-chain Faucet,连接你的钱包或粘贴钱包地址,选择 Solana Devnet 或 Testnet,然后点击请求空投。你可以选择发送推文以获得更多空投,或直接获取 1 SOL。等待片刻,交易确认后,测试 SOL 就会到账。

方法四:使用 Solana 官方水龙头

Solana 最近发布了官方水龙头,使 Devnet SOL 更易于获取。目前,该水龙头允许用户每小时最多领取 5 Devnet SOL 两次。访问 https://faucet.solana.com/ 即可领取。

方法五:在指南中使用内置工具

一些指南中提供了内置的空投工具,允许你直接在页面上请求测试 SOL,无需离开当前页面。留意指南中的相关提示,尝试使用吧!

常见问题

1. 为什么我需要测试 SOL?

测试 SOL 用于支付在 Devnet、Testnet 或 Localhost 上的交易费用和租金,让你在无风险环境中测试应用。

2. 空投的测试 SOL 有真实价值吗?

没有。Devnet、Testnet 和 Localhost 上的代币仅用于测试,没有财务价值。

3. 空投有限制吗?

是的。Devnet 上每次请求最多 2 SOL,Testnet 上每次最多 1 SOL,且可能有每日限制。Solana 官方水龙头每小时最多允许领取 5 SOL 两次。

4. 如何检查空投是否成功?

你可以在钱包中查看余额,或使用区块链浏览器查看交易状态。

5. 空投失败怎么办?

首先检查网络连接和钱包地址是否正确。如果问题持续,可以尝试其他方法或查看日志信息。

6. 本地集群如何获取测试 SOL?

运行本地验证器后,可以使用 Solana CLI 请求空投,指定 -u localhost 参数。

总结

本文介绍了五种获取测试 SOL 的方法,涵盖从命令行到图形界面的多种方式。无论你是开发者还是初学者,都能找到适合自己的方法。现在,你已准备好开始在 Solana 上构建和测试去中心化应用了。如果有更多疑问,可以参考官方文档或社区资源。

👉 探索更多开发策略与工具