3. 使用 Hardhat

使用 Hardhat 在 ChainIDE 上快速搭建一个 dApp。

1. 打开 Sandbox

注:以 GIthub 方式登录 ChainIDE 后才可使用 Sandbox 功能。

打开 Sandbox

2. 快速开始

我们将探索使用示例合约创建 Hardhat 项目的基础知识、该合约的测试以及部署它的脚本。

要创建示例项目,请在项目文件夹中运行 npx hardhat init

让我们创建 JavaScript 或 TypeScript 项目,并完成这些步骤来编译、测试和部署示例合约。我们建议使用 TypeScript,但如果您不熟悉它,请选择 JavaScript

3. 运行任务

要首先快速了解可用的内容和正在发生的情况,请在项目文件夹中运行 npx hardhat

可用任务列表包括内置任务以及任何已安装插件附带的任务。 npx hardhat 是您了解哪些任务可以运行的起点。

4. 编译你的合约

接下来,如果您查看 contracts/ 文件夹,您将看到 Lock.sol

要编译它,只需运行:

如果您创建了 TypeScript 项目,此任务还将使用 TypeChain 生成 TypeScript 绑定。

5. 测试你的合约

您的项目附带使用 Mocha、Chai 和 Ethers.js 的测试。

如果您查看 test/ 文件夹,您将看到一个测试文件:

您可以使用 npx hardhat test 运行测试:

6. 部署你的合约

接下来,为了部署合约,我们将使用 Hardhat 脚本。

scripts/ 文件夹中,您将找到一个包含以下代码的文件:

您可以使用 npx hardhat run scripts/deploy.ts 运行它:

7. 将钱包或 Dapp 连接到 Hardhat 网络

默认情况下,Hardhat 将在启动时启动一个新的内存中 Hardhat 网络实例。还可以以独立方式运行 Hardhat Network,以便外部客户端可以连接到它。这可以是钱包、Dapp 前端或脚本。 要以这种方式运行 Hardhat Network,请运行 npx hardhat node

这将向 Hardhat 网络公开 JSON-RPC 接口。要使用它,请将您的钱包或应用程序连接到 http://127.0.0.1:8545

如果想要其他客户端可以通过链接访问到上面启动的 Hardhat,请参考 ChainIDE - 端口转发 转发 HTTP 8545 端口,并复制其地址 (例如:https://sandbox-1e82a87a951241179f98494a6dbb2617-ethereum-8545.uat-sandbox.chainide.com)。

如果您想将 Hardhat 连接到此节点,例如要针对它运行部署脚本,您只需使用 --network localhost 运行它。

要尝试此操作,请使用 npx hardhat node 启动节点并使用 network 选项重新运行部署脚本:

恭喜!您已经创建了一个项目并编译、测试和部署了智能合约。

8. 继续学习

本快速入门介绍了 Hardhat 项目生命周期的基础知识,但还有很多东西需要学习。请继续阅读 Hardhat 官方文档Polygon: Using Hardhat

Last updated

Was this helpful?