Appearance
运行时
可以将 Hardhat
运行时视为整个 Hardhat
框架及其相关依赖的总称
Hardhat
运行时包括 Hardhat
框架本身以及其所依赖的各种模块、库和工具。
简而言之,Hardhat
运行时(HRE
) = Hardhat
HRE
就是一整个 Hardhat
工具箱,可以通过 HRE
来实现所有事情,它包含了一切 Hardhat
的依赖
示例 scripts/hre.js
js
// 导入所需的模块
const { ethers, run } = require("hardhat");
// 定义一个异步函数来包装我们的代码逻辑
async function main() {
// 获取默认的以太坊提供商
const provider = ethers.provider;
// 打印当前网络的区块高度
const blockNumber = await provider.getBlockNumber();
console.log("当前网络的区块高度:", blockNumber);
// 部署一个简单的合约
const MyContract = await ethers.getContractFactory("MyContract");
const contract = await MyContract.deploy();
console.log("合约地址:", contract.address);
}
// 执行我们的代码逻辑
main()
.then(() => process.exit(0))
.catch(error => {
console.error(error);
process.exit(1);
});
运行
bash
npx hardhat run .\scripts\hre.js
输出
bash
当前网络的区块高度: 0
合约地址: 0x5FbDB2315678afecb367f032d93F642f64180aa3
HRE
作用一目了然。