Hardhat部署从零开始:零基础也能跑通的第一份合约部署指南
如果你完全没有 Solidity 开发经验,但听说 Hardhat 是最主流的开发工具,本文就是为你写的。我们从环境搭建开始,一步步走到把第一份合约部署到测试网,整个过程不省略任何一个关键命令。系统教程参考 Hardhat部署完整教程,但本文优先级更低、节奏更慢。
一、环境搭建
首先确认本地已安装:
- Node.js 18 或 20
- npm 或 pnpm
- VS Code 编辑器
- MetaMask 浏览器插件钱包
如果你在国内,建议配置 npm 镜像:npm config set registry https://registry.npmmirror.com。这一步省去后续依赖下载卡住的烦恼。详细环境清单可以参考 Hardhat新手入门。
二、项目初始化
新建文件夹,进入后运行:
npm init -y生成 package.jsonnpm install --save-dev hardhatnpx hardhat init,选「Create a TypeScript project」
命令跑完后,目录里会出现 contracts/、scripts/、hardhat.config.ts 等文件,这就是 Hardhat 项目的标准骨架。
三、第一份合约
打开 contracts/Lock.sol(init 自带的样例),简单浏览一遍。也可以新建一个最简单的合约 Greeter.sol,包含:
- 一个
string greeting状态变量 - 一个 constructor 接收初始字符串
- 一个
setGreeting(string)写方法 - 一个
getGreeting() view returns(string)读方法
这就是教科书级的入门合约,跑通它再扩展任何业务都不难。
四、编译与测试
运行:
npx hardhat compile编译合约npx hardhat test跑默认的样例测试
确保两步都返回绿色,再继续部署。这一步看似简单,但很多新手会卡在 Solidity 版本与 pragma 不匹配,建议把 hardhat.config.ts 里 solidity.version 与合约 pragma 锁成同一版本。
五、本地节点部署
先在本地跑:
npx hardhat node启动本地链- 新开一个终端
npx hardhat run scripts/deploy.ts --network localhost - 看到地址输出说明本地部署成功
本地节点是最安全的练手环境,建议反复跑几次直到流程烂熟于心。这与 Hardhat部署怎么用 中介绍的命令链完全一致。
六、部署到测试网
准备:
- 在 Alchemy/Infura 申请一个免费 RPC URL
- 从测试网水龙头领取测试 ETH(sepolia)或测试 BNB(BSC testnet)
- 在
.env中保存DEPLOYER_KEY与RPC_URL - 在
hardhat.config.ts里 networks 加一段 sepolia 配置
然后运行 npx hardhat run scripts/deploy.ts --network sepolia,等待区块确认后就能在区块浏览器上看到你的合约。配合 Hardhat部署中文文档 阅读,理解每个字段的含义。
七、Verify 与币安智能链部署
Verify 让源码可被公众查看:
- 在 etherscan 申请 API key 并填入 config
- 运行
npx hardhat verify --network sepolia <addr> <args> - 成功后区块浏览器即可看到源码
部署到币安智能链时,把 network 配置改成 bsc-testnet 或 bsc-mainnet,其余流程基本相同。需要注意 BNB Chain 上 gasPrice 走 legacy。
八、坚持练习的建议
零基础到部署完成第一份合约,最重要的是反复练习。每天写一份小合约、部署一次、Verify 一次,连续一周后你就具备独立部署的能力。遇到问题时回头看 Hardhat部署常见错误,绝大多数报错都有现成答案。Hardhat 从来不是难学的工具,难的是耐心走完每一步。