前言
在对DAPP开发时需要一个框架来提供了一套工具和环境,帮助开发者更轻松地编写、测试和部署智能合约以及与之交互的前端应用程序。除去这次要介绍的hardhat还有Turffle和Embark等等常见的智能合约开发框架
hardhat官网:https://hardhat.org/hardhat-runner/docs/getting-started#quick-start
参考网站:https://segmentfault.com/a/1190000041504179?utm_source=sf-similar-article#item-1
一、hardhat是什么?
Hardhat 是一个用于以太坊智能合约开发的开源开发框架和工具套件。具有以下主要特点和功能:
- 智能合约编译和部署:
Hardhat 可以编译 Solidity 智能合约,并提供简单而灵活的部署脚本,使合约部署过程自动化且可重复。
- 本地测试环境:
Hardhat 提供了一个内置的本地测试环境,可以快速运行测试用例,并模拟以太坊网络的行为,使开发者能够快速验证合约的行为。
- 智能合约调试:
Hardhat 集成了调试工具,可帮助开发者在本地环境中调试智能合约,加速排查错误并提高代码质量。
- 类型安全性:
Hardhat 使用 TypeScript 来编写插件和脚本,这使得代码更具可读性和可维护性,并提供了更强的类型检查。
- 插件系统:
Hardhat 具有灵活的插件系统,允许开发者根据需要扩展和定制其功能,从而满足不同项目的需求。
- 任务运行器:
Hardhat 提供了一个任务运行器,使开发者能够编写自定义任务来执行各种操作,例如编译合约、运行测试、部署合约等。
- 集成测试支持:
Hardhat 支持集成测试,开发者可以编写测试脚本来模拟真实以太坊网络环境,并测试合约在实际使用场景下的行为。
- 社区支持和文档:
Hardhat 拥有活跃的社区支持和完善的文档,开发者可以在社区中获取帮助、交流经验,并找到各种使用 Hardhat 的案例和教程。
二、操作步骤
1.安装
新建一个空文件夹,打开命令行,初始化Node.js项目
npm init -y
使用npm下载hardhat
npm install --save-dev hardhat
2.初始化项目
创建hardhat项目
npx hardhat init
选择创建js项目或者ts项目,也可以是空项目
3.编译合约
在项目创建完成后会出现以下结构,选择第一个js项目后,在contracts/文件夹下出现Lock.sol文件
编译合约
npx hardhat compile
在初始编译之后,Hardhat 将在您下次编译时尝试做尽可能少的工作。例如,如果自上次编译以来未更改任何文件,则不会编译任何内容:
4.测试合约
在 test/ 文件夹中查看,你会看到一个测试文件:Lock.js,使用以下命令进行测试
npx hardhat test
5.部署合约
在文件夹中 ignition/modules有一个文件名为Lock.js,用以下命令部署
npx hardhat ignition deploy ./ignition/modules/Lock.js
或者
npx hardhat run ./ignition/modules/Lock.js
6.连接钱包到hardhat network
启动hardhat所带的链,它将 公开一个 JSON-RPC 接口。
npx hardhat node
如果要针对hardhat network部署合约的话,还要在后面加上–network localhost
npx hardhat ignition deploy ./ignition/modules/Lock.js --network localhost
在MetaMask里添加该接口所对应的网络
总结
以上操作实现了harthat创建了一个项目,并编译、测试和部署了一个智能合约,并且将网络连接到钱包里,可以连接hardhat network创建的用户所拥有的资金