finds.dev← search

// the find

wighawag/hardhat-deploy

★ 1,262 · TypeScript · MIT · updated May 2026

hardhat deployment plugin

hardhat-deploy is a Hardhat plugin that manages smart contract deployments across EVM chains, tracking addresses by name instead of index and enabling deterministic, replicable deploys. v2 is a full rewrite built on top of rocketh, a framework-agnostic deployment layer. Aimed at Solidity developers who need repeatable multi-chain deployments with proxy and Diamond pattern support.

Named accounts replace magic array indices like `accounts[0]`, which meaningfully cleans up test and deployment code. Diamond (EIP-2535) support is declarative — you describe the target state and it generates the `diamondCut` call, which is a real time-saver given how error-prone that is to write by hand. Deployment retrying via saved pending transactions is practical production tooling — not just a demo feature. The modular rocketh architecture means you can swap viem for ethers or bring your own module without forking the whole plugin.

v2 requires hardhat v3, which is still in alpha — so anyone on a stable hardhat v2 project is stuck on the v1 branch, and that branch is clearly not getting new features. The rocketh indirection adds a real conceptual surface area: you now need to understand hardhat-deploy, rocketh, and the individual @rocketh/* packages before you can debug something going wrong at deploy time. Hot Contract Replacement sounds useful but ties you to specific proxy conventions — straying from those and HCR silently stops working. Browser-compatible deployments is listed as a feature but there's no documentation or demo showing it used in a real frontend, so it reads more like architectural capability than something you'd ship today.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →