Hardhat简介
Hardhat 是一个用于编译、部署、测试和调试智能合约和Dapp的开发环境。
它可以帮助开发人员管理和自动化构建智能合约和 dApp 过程中固有的重复性任务,并围绕此工作流程轻松引入更多功能。
Hardhat 内置了 Hardhat Network,这是一个专为开发而设计的本地以太坊网络节点,类似于 Ganache geth --dev等。它允许您部署合约、运行、测试和调试代码。
Hardhat比Truffle等传统智能合约开发环境更好用,最新主流web3项目都纷纷采用了Hardhat。
Hardhat项目创建步骤
创建空项目文件夹
mkdir my-project
cd my-project
初始化项目
npm init --yes
安装hardhat
npm install --save-dev hardhat
生成项目
npx hardhat
选择Create a sample project 回车生成demo项目
中间会提示你会执行下面命令,回车就行
npm install --save-dev @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers ethers
会生成hardhat.config.js配置文件、test/sample-test.js、contracts/Greeter.sol
启动本地节点Hardhat Network
默认情况下,Hardhat 将始终在启动时启动 Hardhat Network 的内存实例。也可以以独立方式运行 Hardhat Network,以便外部客户端可以连接到它,比如小狐狸插件或dapp页面。
在新命令行终端执行下面命令,yarn的情况把npx改成yarn就行
$ npx hardhat node
Started HTTP and WebSocket JSON-RPC server at http://127.0.0.1:8545/
启动后会生成内置的默认账户地址和私钥,注意只能本地测试用,不要给该地址转主网的必
这将公开一个 JSON-RPC 接口。要使用它,请将您的钱包或应用程序连接到http://127.0.0.1:8545
注意:本地节点的默认chainId 默认值:31337,小狐狸插件或dapp页面需要调整chainId配置
如果你想将 Hardhat 连接到这个节点,你只需要使用 --network localhost
部署合约
打开一个新的终端执行下面命令,在localhost网络中部署智能合约,yarn的情况把npx改成yarn就行