---
title: "关于 Solana Devnet，你需要知道的一切"
description: "Devnet 是什么、如何运作，以及如何开始向 Solana Devnet 部署智能合约"
---

# 关于 Solana Devnet，你需要知道的一切

Solana 具有交易速度快、交易成本低、开发者友好的特点，是构建 dApp 和面向用户应用的优秀链。如果你打算[开始在 Solana 上构建](https://www.alchemy.com/solana?a=8e820d1a78)，本文将介绍 Solana 的 Devnet，这是一个用于在模拟 Solana 主网的测试网络上测试智能合约的重要开发者资源。

## **什么是集群？**

集群是**一组节点**的集合，这些节点负责评估待添加到区块链上的传入交易的有效性。

在每个集群中，有一个节点被指定为“leader”（leader 大约每两天更换一次），它负责建议哪些交易应被添加到区块链的账本中，并用自己的签名对建议的交易进行签名。集群中的其他节点是“validator”，负责再次核实这些交易是否有效。

### **什么是 Solana Devnet？**

Solana Devnet 是一个复制实际 Solana 网络（即主网）环境的环境，但使用测试用的 SOL 代币来完成交易，因此 web3 开发者无需花费真实资金来测试他们的智能合约。

Solana Devnet 为开发者、用户和 validator 提供了一个安全的测试场所，可以在没有风险的情况下测试应用。

### **什么是 Solana Devnet faucet？**

为了防止恶意行为者造成网络拥堵，同时保持网络的免费使用，Solana Devnet 使用了与主网不同的代币。

Devnet 代币可以通过 [Solana Devnet faucet](https://solfaucet.com/) 获取，也可以通过在命令行界面（CLI）中输入以下 airdrop 命令获取。

### **什么是 Solana Devnet explorer？**

[Solana Devnet explorer](https://explorer.solana.com/?cluster=devnet) 允许 web3 开发者在 devnet 上查询任何区块、交易、程序或代币。该工具可以帮助开发者获取交易信息、调试运行不正常的交易，并查看程序详情。

### **Solana 的 Testnet 与 Devnet 有什么区别？**

Solana 的 Devnet 与 Solana 的 Testnet 的区别在于：testnet 是供 Solana 核心开发团队用来测试对主网络计划中的更新的网络，而 Devnet 则是供公众使用的测试环境。

### **如何连接到 Solana 的 Devnet**

在连接到 Solana 的 Devnet 之前，请务必先在本地环境中[安装必要的 Solana 开发者工具](http://www.alchemy.com/overviews/solana-developer-tools)。如果你是从零开始，可以按照以下说明安装基础工具。

### **1. 安装 Solana 工具套件**

首先，你需要 Solana Tool Suite 来连接到 Devnet。工具套件的安装方式取决于你使用的是 MacOS、Linux 还是 Windows 操作系统。以下是各开发环境的安装说明。

#### **Mac 用户**

如果你的操作系统是 **MacOS 或 Linux**，打开你常用的终端应用程序，复制粘贴下面的命令。

版本号可以替换为你希望安装的任意版本

#### **Windows 用户**

如果你的操作系统是 **Windows**，请改为在命令提示符（Command Prompt）中复制粘贴以下内容。

运行此命令以安装 Tool Suite：

### **2. 检查你的 Solana 版本**

之后，无论你使用哪种操作系统，都运行以下命令来再次确认你安装的是所需版本的 Solana。

### **3. 连接到 Devnet 集群**

最后，执行此命令以连接到 Devnet 集群，这样你就成功连接到了 Devnet。

## **如何将 Solana 智能合约部署到 Devnet**

在本教程中，我们将部署 Solana 团队开发的 [HelloWorld 程序](https://github.com/solana-labs/example-helloworld/blob/master/src/program-rust/src/lib.rs)。它会为调用它的账户创建一个计数，表示该程序在此账户上历史上被调用的次数。

例如，第一次执行会将计数增加到 1，但返回的计数为 0。第二次执行会返回计数 1，并将其增加到 2。

由于我们已经安装了 Solana Tool Suite，接下来只需安装以下依赖项：

1. NodeJS
1. Rust
1. Git

安装完依赖项后，我们将克隆 HelloWorld 仓库，并按照所需步骤将其部署到 Solana 的 Devnet 上。

### **1. 安装 NodeJS**

安装 [NodeJS](https://nodejs.org/en/download/)（本教程需要 v14 或更高版本）——选择与你的操作系统匹配的安装程序。

按照安装程序显示的步骤操作后，NodeJS 会自动在你的终端中执行以下 node 命令。

### **2. 安装 Rust**

如果你的操作系统是 MacOS、Linux 或其他类 Unix 操作系统，并且命令行已经就绪，运行此命令来安装 Rust。

在 Windows 上，下载并安装 [rustup-init.exe](https://forge.rust-lang.org/infra/other-installation-methods.html#:~:text=download%20and%20run-,rustup%2Dinit.exe,-.)。

### **3. 安装 git**

要在 Windows 上安装 Git，请[选择与你的 Windows 版本匹配的安装程序](https://git-scm.com/download/win)并按照说明操作。

要在 MacOS 和 Linux 上安装 Git，首先在你选用的终端中通过以下命令安装 [Homebrew](https://brew.sh/)。

然后在终端中运行以下命令，通过 Homebrew 安装 Git。

### **4. 克隆 Solana HelloWorld 仓库**

安装好依赖项后，接下来在你的环境中克隆 HelloWorld 仓库。

### **5. 连接到 Devnet**

运行以下命令，再次确认你是否已连接到 Devnet 集群。

如果尚未连接到 Devnet 集群，请使用以下命令连接到 Devnet：

### **6. 生成密钥对**

现在，生成一个密钥对，它由一个公钥（你的钱包地址）和一个私密助记词组成。这个密钥对可以让你在链上创建账户并与 Solana 程序交互。

### **7. 获取 Devnet SOL 代币**

要在 Devnet 上运行我们的程序，你需要 Devnet SOL 代币。你可以通过以下命令请求代币。

### **8. 构建并部署到 Devnet**

现在，构建程序并将其部署到 Devnet。

在控制台构建程序输出的底部，应该会有用于部署程序的命令。

如果找不到，请复制粘贴下面的命令，将程序部署到 Solana 的 Devnet 上。

## **开始在 Solana 上构建**

借助 Solana Devnet，web3 开发者可以在全球性能最高的 layer 1 区块链之一上构建[应用](https://www.alchemy.com/dapps/top/defi-dapps)。要开始构建，请[注册以获取 Alchemy 的 Solana API 使用权限](https://www.alchemy.com/solana?a=8e820d1a78)。
