Web3:在你的项目中如何使用Hardhat框架

目录

1.什么是Hardhat

编译合约

[假链开发环境(Hardhat Network)](#假链开发环境(Hardhat Network))

自动化测试

常用命令

2.如何使用Hardhat

给当前的项目导入Hardhat框架


全程需要挂着梯子。

1.什么是Hardhat

它是一套框架,Hardhat 就像是「智能合约的脚手架/工具箱」。你写合约 → 它帮你编译、测试、调试、部署,还给你一个本地的"假链"来试跑。

  • 官方定义:一个以太坊开发环境,专门做智能合约的"写、测、调、发"。
  • 技术上:基于 Node.js 的命令行工具(CLI),用 JS/TS 来写脚本和测试。

编译合约

Solidity 代码 → 编译成字节码 + ABI,方便后续部署和前端调用。

命令:npx hardhat compile

假链开发环境(Hardhat Network)

自带一个本地以太坊节点(Hardhat Network),你不用花钱上主网,也能:

部署合约、发交易、跑测试

命令:npx hardhat node

自动化测试

用 JS/TS 写测试脚本,可以断言合约的状态、余额、事件等。

支持常见测试框架(Mocha/Chai 等

命令:npx hardhat test

常用命令

  • npx hardhat compile:编译
  • npx hardhat test:跑测试
  • npx hardhat node:启动本地链
  • npx hardhat run scripts/deploy.js:运行部署脚本

2.如何使用Hardhat

  • 在项目中启动命令行

执行npm init -y (这里不再单独介绍如何安装node.js,以及nvm版本管理器的安装)

项目中出现package.json文件

给当前的项目导入Hardhat框架

最新版本是Hardhat 3,如果你想安装Hardhat 2,执行npm install hardhat@2.22.0 --save-dev,以此来安装v2版本的hardhat,--save-dev表示hardhat保存在开发环境中。

执行成功后,项目中多出了以下东西

那些警告不用管。

如图,导入的hardhat项目版本是v2.22,这样一来,我们的这个项目就是一个hardhat项目了,而且一个hardhat项目一定是基于npm项目的。

执行npx hardhat 初始化这个hardhat项目,注意,使用Hardhat v2.22时,node的版本要为20,使用nvm下载20版本的node.js

nvm install 20

nvm use 20

执行npx hardhat后,选择加入JavaScript,其他选项一路默认回车即可。至此,一个Hardhat项目完成了。


编译hardhat下contracts目录下所有合约

npx hardhat compile

编译合约后要部署合约

部署合约要写一个js脚本

npx hardhat run scripts/deployFundMe.js(这里的deployFundMe.js只是举例的脚本文件名)。

相关推荐
技术路线图3 小时前
告别存量厮杀!深度解构 LV纪元:Web3 的终极价值引擎
web3
暴躁小师兄数据学院2 天前
【WEB3.0零基础转行笔记】go编程篇-第12讲:go-zero入门实战
开发语言·笔记·golang·web3·区块链
Joy T3 天前
【Web3】智能合约多环境部署架构:Mock机制与依赖注入实战
开发语言·架构·web3·区块链·php·智能合约·mock合约
Blockchina3 天前
一个Web3项目从0到上线全流程(含技术架构全拆解)
架构·web3·区块链·永续去中心化交易所
Joy T4 天前
【Web3】告别Remix:基于Hardhat的智能合约工程化构建与实战
git·web3·node·智能合约·hardhat
Joy T4 天前
【Web3】跨越纪元:Hardhat 2.x 与 3.x 深度对比
web3·回滚·hardhat 3.x·底层架构·跨链测试·网络并发
Blockchina5 天前
Web3项目开发全流程详解:从0到1搭建DApp架构(实战版)
架构·web3·区块链·perp dex
Blockchina6 天前
Web3金融革命:PerpDEX的深度解析
金融·web3·区块链·perp dex·永续去中心化交易所
Joy T6 天前
【Web3】深入解析Coin-Token、ERC20-ERC721、自定义错误机制与合约继承
web3·代币·自定义错误·gas·erc-20·原生币·合约继承