准备本地开发环境
开始 Hardhat 部署的第一步是搭建本地开发环境。请确认机器上已安装 Node.js 18 或更高版本,并通过 npm install --save-dev hardhat 完成框架安装。接着用 npx hardhat init 初始化项目,选择 TypeScript 模板可获得更好的类型提示。
初始化完成后,目录里会出现 contracts、scripts、test 三个核心文件夹。建议把 OpenZeppelin、ethers、dotenv 等常用依赖一并加入。这一步若需要在 Binance 等场所使用代币测试,请额外申请相应测试网水龙头。
配置网络与私钥
在 hardhat.config.ts 中加入 networks.sepolia 字段,填入 RPC URL 与你的钱包私钥。强烈建议:
- 私钥通过 .env 文件注入,不直接硬编码
- .env 加入 .gitignore,避免泄露
- 部署测试时使用专门钱包,资金不超过 0.1 ETH 等价值
这种谨慎做法不仅适合新手,专业团队也长期遵循。在 必安 内部研发流程中,类似私钥隔离同样是基础要求。
编写第一份部署脚本
在 scripts/deploy.ts 中写出部署逻辑:
- 用 ethers.getContractFactory 获取合约工厂
- 调用 factory.deploy 传入构造函数参数
- 等待 waitForDeployment 完成
- 输出合约地址到 console
运行 npx hardhat run scripts/deploy.ts --network sepolia,几秒钟后你就能看到合约地址。这是大多数 Solidity 开发者最难忘的「第一次成功」。
验证合约源码
部署完成只是第一步,建议立即在 Etherscan 上验证源码:npx hardhat verify --network sepolia ADDRESS。验证成功后,合约的可读性、可调用性都将大幅提升。也方便后续做调用测试或邀请审计师审阅。
如果你后续准备把合约托管到 B安 或类似平台进行业务对接,提供验证过的 Etherscan 链接也是必备资料。
常见陷阱与排查
新手最常遇到的三类问题:
- nonce 错误:钱包同时被多个程序使用,重启或重置 nonce 即可
- gas 不足:测试网 ETH 用尽,重新申请水龙头
- 编译版本不匹配:hardhat.config 与合约 pragma 版本不一致
出现这些问题时不要慌张,每个都有对应的官方文档说明。养成「先看报错全文,再到 GitHub Issues 搜索」的习惯,新手期就能快速跨越。
下一步学习建议
完成第一次部署后,建议依次掌握:合约升级模式(OpenZeppelin Upgrades)、声明式部署(hardhat-deploy)、自动化 CI 部署。再去研究 Binance合约 等专业团队对合约部署的安全要求,你将形成完整的工程视角。坚持半年实践,从新手到中级 Solidity 工程师的跃迁完全可控。