Skip to content

本地开发环境搭建

概述

本地开发的基本流程如下

  1. 安装 RustSolana CLI
  2. 使用 Solana CLI,你可以使用 solana-test-validator 命令运行本地测试验证器,初始化账户等基本操作
  3. 使用 cargo build-sbfsolana program deploy 命令在本地构建和部署程序
  4. 使用 solana logs 命令查看程序日志

在 Windows 上设置(带有 Linux)

下载 Windows 子系统 Linux(WSL)

如果你使用的是Windows电脑,建议使用Windows子系统Linux(WSL)来构建你的Solana程序。

打开管理员权限的PowerShellWindows命令提示符,检查Windows版本

bash
winver

如果你使用的是Windows 10版本2004及更高版本(Build 19041及更高版本)或Windows 11,请运行以下命令。

bash
wsl --install

如果你正在使用较旧版本的Windows,请按照这里的说明进行操作。

你可以在这里阅读更多关于安装WSL 的信息。

下载 Ubuntu

接下来,在这里下载UbuntuUbuntu提供了一个终端,可以让你在Windows电脑上运行Linux。这就是你将运行Solana CLI命令的地方。

下载 Rust(适用于 WSL)

接下来,打开Ubuntu终端并使用以下命令下载适用于WSLRust。你可以在此处阅读有关下载Rust的更多信息。

bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

下载 Solana CLI

现在我们准备下载适用于LinuxSolana CLI。请在Ubuntu终端中运行以下命令。你可以在此处阅读有关下载Solana CLI的更多信息。

bash
sh -c "$(curl -sSfL https://release.solana.com/v1.16.10/install)"

在 macOS 上进行设置

下载 Rust

首先,按照这里的说明下载Rust

下载 Solana CLI

接下来,在终端中运行以下命令下载Solana CLI

bash
sh -c "$(curl -sSfL https://release.solana.com/v1.16.10/install)"

你可以在这里了解更多关于下载Solana CLI的信息。

Solana CLI 基础

Solana CLI是一个命令行界面工具,提供了一系列命令,用于与Solana集群进行交互。

在本课程中,我们将介绍一些最常见的命令,但你始终可以通过运行solana --help来查看所有可能的Solana CLI命令列表。

Solana CLI 配置

Solana CLI存储了一些配置设置,这些设置会影响某些命令的行为。你可以使用以下命令查看当前的配置:

bash
solana config get

solana config get命令将返回以下内容:

  • 配置文件 - Solana CLI所在的文件位于你的计算机上
  • RPC URL - 你正在使用的端点,将你连接到本地主机、开发网络或主网络
  • WebSocket URL - 监听来自目标集群的事件的WebSocket(在设置RPC URL时计算)
  • 密钥对路径 - 在运行Solana CLI子命令时使用的密钥对路径
  • Commitment - 提供了网络确认的度量,并描述了一个区块在特定时间点上的最终性程度

你可以随时使用solana config set命令更改你的Solana CLI配置,然后跟上你想要更新的设置。

最常见的更改将是你要定位的集群。使用solana config set --url命令更改RPC URL

bash
# localhost
solana config set --url localhost

# devnet
solana config set --url devnet

# testnet
solana config set --url testnet

# mainnet-beta
solana config set --url mainnet-beta

TIP

由于某些你知道的原因,devnet 或者 mainnet 可能访问不佳。建议开发过程中使用 localhost 网络。最后需要部署应用的使用,建议使用 alchemy 的 rpc 节点。

同样地,你可以使用solana config set --keypair命令来更改密钥对路径。当运行命令时,Solana CLI将使用指定路径下的密钥对。

bash
solana config set --keypair ~/<FILE_PATH>

测试验证器

你会发现在测试和调试时运行本地验证器比部署到开发网络更有帮助。

你可以使用solana-test-validator命令运行本地测试验证器。该命令会创建一个持续运行的进程,需要单独的命令行窗口。

Stream program logs

通常在打开一个新的控制台并在测试验证器旁边运行solana logs命令会很有帮助。这将创建另一个持续进行的进程,用于流式传输与你配置的集群相关的日志。

如果你的 CLI 配置指向本地主机,则日志将始终与你创建的测试验证器相关联,但你也可以从其他集群(如DevnetMainnet Beta)流式传输日志。当从其他集群流式传输日志时,你需要在命令中包含一个程序ID,以限制你所看到的日志仅针对你的特定程序。

密钥相关

你可以使用solana-keygen new --outfile命令生成一个新的密钥对,并指定文件路径以存储该密钥对。

bash
solana-keygen new --outfile ~/<FILE_PATH>

有时候你可能需要检查你的配置指向哪个密钥对。要查看当前在solana config中设置的密钥对的公钥,请使用solana address命令。

bash
solana address

要查看在Solana配置中设置的当前密钥对的SOL余额,请使用solana balance命令。

bash
solana balance

要在Devnetlocalhost上进行SOL的空投,请使用solana airdrop命令。请注意,在Devnet上,每次空投限制为 2 个 SOL。

bash
solana airdrop 2

在你开发和测试本地环境中的程序时,很可能会遇到由以下原因引起的错误:

  • 使用错误的密钥对
  • 没有足够的 SOL 来部署你的程序或执行交易
  • 指向错误的集群

到目前为止,我们已经介绍了一些CLI命令,这些命令应该能帮助你快速解决那些问题。

hello world 程序

官方参考文档