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只是举例的脚本文件名)。

相关推荐
2603_953527992 天前
WordPress Finale Lite 插件高危漏洞检测与利用工具 (CVE-2024-30485)
前端·python·安全·web3·xss
电报号dapp1196 天前
区块链DApp开发深度解析:概念拆解+技术架构+应用前景
架构·web3·去中心化·区块链·智能合约
电报号dapp1196 天前
公链 + DID,解锁 Web3 数字身份新范式
人工智能·web3·去中心化·区块链·智能合约
木西6 天前
RaveDAO Pro:Web3 票务系统的完整技术实现
web3·智能合约·solidity
电报号dapp1196 天前
交易所开发:构建数字资产交易的安全与高效平台
安全·web3·去中心化·区块链·智能合约
Web3VentureView7 天前
SYNBO 亮相香港 Web3 嘉年华:在 AI+Web3 时代重思链上一级市场基础设施
人工智能·web3·区块链·加密货币·web4·synbo
许强0xq9 天前
订单流战争:AI、区块链与市场透明度的终极博弈
web3·区块链·智能合约·solidity·dapp
潇楠Web3哨兵9 天前
Web3多功能监控软件 V10 :从代码层面深度剖析一款商业级双链监控系统的实现艺术!
web3
迷藏49410 天前
**发散创新:基于Solid协议的Web3.0去中心化身份认证系统实战解析**在Web3.
java·python·web3·去中心化·区块链
AI_Claude_code10 天前
ZLibrary访问困境方案三:Web代理与轻量级转发服务的搭建与优化
爬虫·python·web安全·搜索引擎·网络安全·web3·httpx