设置 Node 项目

新的软件行业通常以每个项目共享相同的技术栈开始。Ethereum 生态系统也不例外,并且选择的语言是 JavaScript。许多 Ethereum 库,包括 OpenZeppelin 软件,都是用 JavaScript 或其变体编写的。

JavaScript 代码传统上作为网站的一部分在 Web 浏览器上运行,但它也可以使用 Node 作为独立进程执行。

本指南将帮助你设置 Node 开发环境,你需要它来使用不同的 OpenZeppelin 工具和其他第三方产品。

如果你已经熟悉 Node、npm 和 Git,请随时跳过本指南!

安装 Node

有多种方法可以在你的机器上获取 Node:你可以通过 包管理器 获取它,也可以直接下载 安装程序

如果你正在运行 Windows,请考虑使用 Windows Subsystem for Linux,因为很多生态系统都是为 Linux 编写的。

完成后,在终端上运行 node --version 以检查你的安装:任何 活动或维护版本 都应该与大多数 Ethereum 软件兼容。

$ node --version
v20.17.0

创建一个项目

JavaScript 软件通常捆绑在 packages 中,这些 packages 通过 npm registry 分发。一个 package 只是一个包含名为 package.json 文件的目录,用于描述 package 的名称、版本、内容等。当你构建自己的项目时,你将创建一个 package,即使你不打算分发它。

所有 Node 安装都包含一个用于 npm registry 的命令行客户端,你将在开发自己的项目时使用它。要启动一个新项目,请为其创建一个目录:

$ mkdir learn && cd learn

然后我们可以初始化它:

$ npm init -y

就这么简单!你新创建的 package.json 文件将随着你的项目增长而发展,例如在使用 npm install 安装依赖项时。

JavaScript 和 npm 是世界上使用最多的软件工具之一:如果你有任何疑问,你会在网上找到大量关于它们的信息。

使用 npx

npm registry 中存储的 package 有两种类型:librariesexecutables。安装的 libraries 像任何其他 JavaScript 代码一样使用,但 executables 很特别。

安装 node 时包含第三个二进制文件:https://blog.npmjs.org/post/162869356040/introducing-npx-an-npm-package-runner[npx]。这用于运行你在项目本地安装的 executables。

虽然 Hardhat 可以全局安装,但我们建议在每个项目中本地安装,以便你可以按项目控制版本。

为了清楚起见,我们将在我们的指南中显示完整命令,包括 npx,这样我们就不会因为二进制文件不在系统路径中而出现错误:

$ hardhat init
hardhat: command not found
$ npx hardhat init
👷 Welcome to Hardhat v2.22.12 👷‍
? What do you want to do? …
运行 npx 时,请确保你在项目的目录中!否则,它将再次下载完整的 executable 只是为了运行该命令,这在大多数情况下 不是 你想要的。

使用版本控制进行跟踪

在开始编码之前,你应该将 版本控制软件 添加到你的项目中以跟踪更改。

到目前为止,最常用的工具是 Git,通常与用于托管目的的 GitHub 结合使用。实际上,你将在我们的 GitHub repository 中找到所有 OpenZeppelin 软件的完整源代码和历史记录。

如果你以前从未使用过 Git,一个好的起点是 Git Handbook
不要将助记词、私钥和 API 密钥等机密信息提交到版本控制!确保你使用 .gitignore 文件来保护机密信息。