练习 - 设置一个新项目并集成 OpenZeppelin
让我们使用 Truffle 创建一个新项目,然后并入 OpenZeppelin 合同库。 在继续之前,请确保已安装 Truffle 和 Ganache CLI。
创建新项目
- 在计算机上打开终端或命令行应用程序。 在终端中,新建一个名为 Token20 的文件夹。 为此,请运行
mkdir Token20
命令。 我通常在一个名为“项目”的文件夹中运行此命令,我在这里存储我的其他所有开发项目。 - 转到 Token20 文件夹(运行
cd Token20
)。 - 若要初始化新项目,请运行
truffle init
。 - 等待项目初始化,然后在 Visual Studio Code 中打开该项目。
使用 Truffle 初始化项目后,你应会看到以下输出:
$ mkdir Token20
$ cd Token20/
$ truffle init
✔ Preparing to download box
✔ Downloading
✔ cleaning up temporary files
✔ Setting up box
$ ls
contracts migrations test truffle-config.js
设置项目
已创建项目并在编辑器中打开后,请查看项目文件夹的内容。
接下来,你需要确认已安装 Node.js。 打开终端并运行 node
命令。 如果已安装 Node.js,该命令将返回你的计算机上已安装的版本。 如果你的计算机上未安装 Node.js.,请转到 Node,了解如何为你的平台下载它。
Node.js 随附节点包管理器 (npm) 一起安装。 Npm 可帮助你管理其他 JavaScript 构建的包和应用程序。
- 在终端中,运行
npm init
。 该命令将显示一个实用工具,后者将引导你完成创建 package.json 文件的过程,该文件会描述项目并存储项目中使用的依赖项。 - 完成实用工具中的步骤,轻松创建 package.json 文件。
备注
可在每次出现提示时,按 Enter 使用默认值。
设置 OpenZeppelin
接下来,我们希望与 OpenZeppelin 合同库集成。
为此,请在终端中运行 npm install @openzeppelin/contracts
。
等待包成功安装到项目中。 你应会在终端中看到类似以下内容的输出:
+ @openzeppelin/contracts@4.5.0
added 2 packages from 1 contributor and audited 1 package in 1s
found 0 vulnerabilities
请注意,发生了几件事:
- 包作为依赖项被添加到了 package.json 文件。
- 一个 node_modules 文件夹从 OpenZeppelin 导入了所有可用的合同,这些合同位于子文件夹 @openzeppelin/contracts 中。
检查该文件夹的内容后将返回以下输出:
$ ls node_modules/@openzeppelin/contracts
README.md build/ governance/ metatx/ proxy/ token/
access/ finance/ interfaces/ package.json security/ utils/
花些时间查看现可用于你的项目的可用合同源文件。 请特别注意代币合同。 更好地了解每个合同的实现以及通常提供的具体函数。