@nomicfoundation/hardhat-toolbox-viem plugin bundles all the commonly used packages and Hardhat plugins we recommend to start developing with Hardhat.
When you use this plugin, you'll be able to:
- Deploy and interact with your contracts using Viem and the
- Test your contracts with Mocha, Chai and Chai as Promised. Note: the plugin Hardhat Chai Matchers is currently not available for Viem.
- Interact with Hardhat Network with our Hardhat Network Helpers.
- Verify the source code of your contracts with the hardhat-verify plugin.
- Get metrics on the gas used by your contracts with the hardhat-gas-reporter plugin.
- Measure your tests coverage with solidity-coverage.
Note: you might want to pin Viem-related dependencies because Viem does not strictly follow semantic versioning for type changes. You can read more here.
To create a new project that uses the Toolbox, check our Setting up a project guide but select the Create a TypeScript project (with Viem) option instead.
When the Toolbox is installed using npm 7 or later, its peer dependencies are automatically installed. However, these dependencies won't be listed in the
package.json. As a result, directly importing the Network Helpers can be problematic for certain tools or IDEs. To address this issue, the Toolbox re-exports the Hardhat Network Helpers. You can use them like this:
import helpers from "@nomicfoundation/hardhat-toolbox/network-helpers";