What problem does it solve?
Provides clear, up-to-date guidance and patterns to eliminate confusion and errors when initializing, testing, configuring, and deploying smart contract projects on Hardhat 3, especially for teams migrating from Hardhat 2 or adopting Viem and Ignition workflows.
Core Features & Use Cases
- Project Initialization & ESM Setup: Correctly create ESM-first hardhat.config.ts, set package.json type, and adjust tsconfig for node16 compatibility.
- Testing Workflows: Author and run Foundry-compatible Solidity (.t.sol) tests and Viem + node:test TypeScript tests, including fixtures, event assertions, fuzzing, and invariant tests.
- Ignition Deployments & Multi-Chain Simulation: Build declarative Ignition modules, manage deployments, proxies, and run edr-simulated multi-chain local networks for deterministic testing.
- Migration & Best Practices: Step-by-step migration from Hardhat 2 to 3, plugin registration via plugins array, network.connect usage, and secure configVariable handling for secrets.
- Cheatcodes & Deterministic Testing: Use vm.* cheatcodes, snapshots, forks, and networkHelpers reliably in both Solidity and TypeScript tests for robust test suites.
Quick Start
Create a new Hardhat 3 project configured for ESM with Viem + node:test, add an Ignition deploy module, and run a Solidity and TypeScript test suite on a local edr-simulated network.