本文是 Solana 开发系列教程的第一部分,将引导开发者从零开始搭建 Solana 命令行开发环境,使用免费的 Devnet SOL 进行快速、低成本且有趣的项目构建。
为什么选择 Solana Devnet?
Solana Devnet 是一个免费且安全的沙盒环境,它完整镜像了 Solana 主网的功能,非常适合开发者进行实验和测试,而无需消耗真实的 SOL 代币。
主要优势包括:
- 完全免费:无需真实 SOL 即可使用,让您安全地进行各种实验
- 与主网一致:运行时行为与主网几乎完全相同,提供真实的测试环境
- 公开水龙头:可通过水龙头获取免费的测试用 SOL
- 易于调试:交易日志和程序输出更易于跟踪和调试
- 区块链浏览器支持:所有交易都可以在 Solana 浏览器中查看(需切换至 Devnet)
需要注意的局限性:
- 空投限速:每小时通常只能获取 1-2 SOL,且可能存在延迟
- 性能波动:偶尔可能出现性能下降,因为这是供开发者测试的实验环境
环境准备与工具安装
在开始 Solana 开发之前,需要安装一些必要的工具和依赖项。
验证基础工具安装
首先确认您的系统是否已安装以下必备工具:
# 检查 Node.js 版本
node -v
# 检查 NVM 或 FNM 版本
nvm -v # macOS
fnm --version # Windows
# 检查 pnpm 版本
pnpm -v
# 检查 Rust 版本
rustc --version
如果以上任何工具未安装,请继续执行安装步骤。
安装必要的开发工具
根据您的操作系统选择相应的安装命令:
macOS 用户安装:
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
\. "$HOME/.nvm/nvm.sh"
# 安装 Node.js
nvm install 22
# 安装 pnpm
corepack enable pnpm
Windows 用户安装:
# 安装 fnm
winget install Schniz.fnm
# 安装 Node.js
fnm install 22
# 安装 pnpm
corepack enable pnpm
Rust 语言安装:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
. "$HOME/.cargo/env"
安装 Solana CLI 工具
Solana CLI 是开发过程中不可或缺的多功能工具,由 Anza 维护。它允许您直接从本地计算机执行各种操作,如检查账户、进行交易或获取网络信息。
安装命令:
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"
配置环境变量:
Linux 和 Windows WSL 用户:
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
macOS 用户:
echo 'export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
验证安装:
solana --version
配置 CLI 连接 Devnet
将 Solana CLI 配置为使用 Devnet 网络,这样在执行交易或检查账户时就不需要每次都指定网络参数。
设置 Devnet 网络:
solana config set --url https://api.devnet.solana.com
验证配置:
solana config get
检查集群状态:
solana cluster-version
创建和管理 Devnet 钱包
在 Solana 开发中,CLI 钱包是一个存储在本地文件系统中的文本钱包,与常见的浏览器钱包(如 Phantom 或 Backpack)有所不同。
生成钱包密钥对
solana-keygen new --outfile /path/to/your/wallet-dev.json
重要安全提示:
- 这种类型的钱包文件是未加密的,如果泄露可能导致资产损失
- 仅用于开发测试,不要存入真实的 SOL 代币
- 妥善保管生成的助记词和密钥文件
验证和设置活动钱包
验证密钥对:
solana-keygen verify /path/to/your/wallet-dev.json
设置活动钱包:
solana config set --keypair /path/to/your/wallet-dev.json
查看当前钱包地址:
solana address
获取 Devnet SOL 空投
要开始进行交易测试,您需要一些 Devnet SOL。可以通过空投方式免费获取。
执行空投:
solana airdrop 1
检查余额:
solana balance
如果遇到限速问题:
- 等待一段时间后重试
- 考虑使用第三方 RPC 服务
- 访问官方水龙头网站:https://faucet.solana.com/
常用 CLI 命令操作
掌握一些基本的 CLI 命令对于高效开发至关重要。
信息查询命令
获取区块时间:
solana block-time
查看纪元信息:
solana epoch-info
检查 SOL 供应量:
solana supply
交易操作
执行转账测试:
# 转账到指定地址
solana transfer <接收地址> 0.01 --no-wait
# 检查余额变化
solana balance
使用区块链浏览器验证交易
Solscan.io 是常用的 Solana 区块链浏览器之一,可以用于查看交易详情和账户信息。
操作步骤:
- 访问 https://solscan.io/
- 将网络切换为 Devnet
- 使用交易签名进行搜索
- 查看交易详细信息
其他常用的区块链浏览器包括:
- Solana Explorer: https://explorer.solana.com/
- Solana.FM: https://solana.fm/
- Helius Orb: https://orb.helius.dev/
Solana 工具箱(Mucho)介绍
Solana Toolkit(又名 Mucho 库)是一个新的 CLI 辅助工具库,旨在简化开发流程。
安装命令:
npx -y mucho@latest install
功能包括:
- 本地验证器管理
- 程序构建和部署
- 代码覆盖率测试
- 账户余额检查
- 交易和账户检查
常见问题解答
Devnet 和测试网有什么区别?
Devnet 主要用于开发者测试和实验,网络会定期重置,不保证数据长期持久性。测试网则更接近主网环境,用于更严格的测试场景。
为什么 CLI 钱包需要特别的安全注意?
CLI 钱包以未加密形式存储在本地文件中,如果设备感染恶意软件,可能会导致密钥泄露。因此只建议在开发环境中使用,且不要存入真实资产。
遇到空投限速怎么办?
空投限速是防止滥用的保护机制。如果遇到限速,可以等待一段时间后重试,或者使用第三方 RPC 服务提供商,他们通常提供更宽松的空投限制。
Windows 系统开发需要注意什么?
Windows 用户建议使用 WSL(Windows Subsystem for Linux)来运行 Solana CLI,这能提供更好的兼容性和开发体验。官方文档中有详细的 WSL 配置指南。
如何选择正确的 Node.js 版本?
Solana 开发推荐使用 Node.js 18 或更高版本。使用 nvm 或 fnm 工具可以方便地切换和管理多个 Node.js 版本。
交易失败可能的原因有哪些?
交易失败可能由于余额不足、网络拥堵、参数错误或 RPC 连接问题导致。检查错误信息、确认余额和网络设置通常能解决大部分问题。
进阶开发准备
完成本教程的基础设置后,您已经为 Solana 开发做好了初步准备。接下来的教程将涵盖:
- JavaScript/TypeScript 集成:使用 Node.js 和 Next.js 进行前端开发
- Anchor 框架:使用 Rust 编写智能合约
- 实战项目开发:构建完整的 Solana 应用程序
通过掌握命令行工具的使用,您将能够更高效地进行后续的开发和调试工作。Solana 生态系统提供了丰富的工具和资源,帮助开发者构建快速、低成本且有趣的项目。
记得定期查看官方文档和社区更新,以获取最新的开发工具和最佳实践。Happy building! 🚀