使用 Hardhat 部署合约

Hardhatarrow-up-right 是一个综合开发环境,由不同组件组成,用于编写、编译、调试和部署智能合约和 dApps。

先决条件

开始之前,需要安装以下依赖项:

circle-info

如果你使用的是 Windows 系统,强烈建议安装并使用 WSL 2arrow-up-right 终端来完成以下步骤。

创建 Hardhat 示例项目

首先,创建一个新的文件夹目录,并导航到该目录:

mkdir my-hardhat-project && cd my-hardhat-project

在该目录中初始化一个新的 Hardhat 项目:

npx hardhat init

在出现 CLI 选择提示时,输入 “y/n“,选择你的首选项,或使用下方推荐的首选项。

 What do you want to do? · Create a TypeScript project (with Viem)
 Hardhat project root: · /path/to/my-hardhat-project
 Do you want to add a .gitignore? (Y/n) · y
 Do you want to install this sample project's dependencies with npm (hardhat @nomicfoundation/hardhat-toolbox-viem)? (Y/n) · y

设置配置变量

Hardhat 项目可以将配置变量用于用户特定值,或用于不应包含在代码存储库中的数据。

circle-info

注意:目前,开发网 RPC 尚未公开。如公开,此页面将更新,感谢您的耐心等待。

运行以下命令,设置配置变量:

例如,运行以下命令,设置 MONAD_RPC_URL 变量:

circle-info

注意:在设置 MONAD_EXPLORER_URL 配置变量时,请勿包含 /api 部分。

然后在提示符中,为此变量输入自定义值:

同样,你还可以设置 MONAD_CHAIN_ID 变量。

triangle-exclamation

更新 hardhat.config.ts 文件以生效 monadDevnet 配置

编写智能合约

你可以在 contracts 目录中创建新的合约,下方示例中,将创建名为GMonad.sol的智能合约:

编译智能合约

结果输出如下示例,表示合约成功编译:

circle-info

注意:如果你没有从 Hardhat 中删除默认的 Lock.sol 合约,则GMonad.solLock.sol均会被编译。

部署智能合约

你可以使用声明式部署系统 Hardhat Ignitionarrow-up-right 来部署合约。

你可以使用示例项目中附带的 Ignition 模块部署 GMonad 合约。

创建 Hardhat Ignition 模块

运行以下命令,在 ignition/modules 目录中创建一个名为 GMonad.ts 的文件:

现在,你可以进行合约部署了。

部署智能合约

当出现 Confirm 提示时,选择 yes

结果输出如下示例,表示合约成功部署:

后续步骤

了解如何在 Monad Explorer 上验证合约,请参阅 验证 Hardhat 合约

最后更新于