hardhat是一个基于nodejs的solidity开发环境。可以很方便的编译部署以及测试合约。当然直接使用hardhat编写合约不是很方便,例如没有高亮和code complete,官方推荐了vs code插件版本,这个我还待尝试。
官方教程:
大概来说跟着教程来就可以了
1、安装nodejs
这个没什么好说了,网上下载一个就可以
2、创建hardhat工程
这部分也按官方文档
hardhat是以task的方式来执行,使用npx运行task。
例如:npx hardhat compile \ npx hardhat run filename.js
3、编写合约
编写完成后,调用npx hardhat compile进行编译
4、部署合约
合约部署需要在js文件中执行
// scripts/deploy.js
const hre = require("hardhat");
async function main() {
// We get the contract to deploy.
const BuyMeACoffee = await hre.ethers.getContractFactory("MerkleProof");
const buyMeACoffee = await BuyMeACoffee.deploy();
await buyMeACoffee.deployed();
console.log("BuyMeACoffee deployed to:", buyMeACoffee.address);
}
// We recommend this pattern to be able to use async/await everywhere
// and properly handle errors.
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});
可以看到hardhat通过插件的形式,集成了ether.js,因此可以直接获取到合约对象并且部署。
编写完成后,调用npx hardhat run filepath 执行js文件,filepath是js文件地址。
合约的测试同样通过js实现,因为集成了ether.js,所以js与合约交互方式和ether.js一致,使用起来比较方便。
总结
感觉hardhat是remix的简化版,暂时没看出他的优势,可以直接跳过他使用remix。当然本地随便写个demo也可以考虑使用。另外hardhat提供了自己的测试网络,可以直接在本地部署运行。

