>
>
Join the Hardhat team! We are hiring
>
>

Plugins

Plugins are the backbone of Hardhat, and they're built using the same config DSL that you use in your Hardhat configuration. Read the Building plugins guide to learn how to create your own, and send a pull request to get it listed here.

Extend Hardhat's functionality with the plugins below.

Official plugins

Injects ethers.js into the Hardhat Runtime Environment

Ethers.js
Testing
Tasks
Scripts

Adds a Waffle-compatible provider to the Hardhat Runtime Environment and automatically initializes the Waffle Chai matchers

Waffle
Testing

Automatically verify contracts on Etherscan

Etherscan
Verification

Injects Web3 1.x into the Hardhat Runtime Environment

Web3.js
Testing
Tasks
Scripts

Integration with TruffleContract from Truffle 5

Truffle
Testing

Easily run solhint to lint your Solidity code

Solhint
Linter

Hardhat plugin for managing Ganache

Ganache
Testing network

Adds support to compile Vyper smart contracts

Vyper
Compiler

Automatically run the solpp preprocessor before each compilation

Solpp
Preprocessor

Integration with TruffleContract from Truffle 4

Truffle
Testing

Injects Web3 0.20.x into the Hardhat Runtime Environment

Web3.js
Legacy
Testing
Tasks
Scripts

Community plugins

Sorted by npm downloads

Code coverage for Solidity

Testing
Coverage
Hardhat plugin

Gas usage per unit test. Average gas usage per method. A mocha reporter.

Testing
Gas
Hardhat plugin

Zero-config TypeChain support for Hardhat.

Testing
Tasks

Hardhat plugin for Deployments

Deployment
Testing

Automatically run Hardhat actions on file changes.

Tasks
Testing

Hardhat plugin for deploying and managing upgradeable contracts.

Security
Upgrades
OpenZeppelin

Calculate compiled contract sizes

Compiling
Bytecode

A hardhat-deploy plugin for Ethers.js v5

Ethers.js
hardhat-deploy

Automatically export Solidity contract ABIs on compilation

Compiling
ABI

Easily integrate your Hardhat project with Tenderly. Tenderly is an Ethereum monitoring, debugging and analytics platform.

Debuggin
Monitoring
Alerting
Tasks
Scripts

The Solidity mocking library. Smock is a utility package that can generate mock Solidity contracts written entirely in JavaScript.

Testing
Mocking

See internal transactions, events and storage operations during your hardhat tests in the console

EVM
Events
Logs
Trace
Console
Testing

Automatically prepend local Solidity source files with an SPDX License Identifier

License

Zero-config Hardhat plugin to generate documentation for all your Solidity contracts.

Documentation
Docs
Solidity
NatSpec

Remove Hardhat console.log imports and calls from Solidity source files

Logging
Console
Deployment

An hardhat plugin to pre-process contract source code before compilation

Solidity
Preprocessor

Compile Solidity sources directly from NPM dependencies

Compiling
Dependencies

Generate a static documentation site from NatSpec comments

Documentation
NatSpec

Exporting solidity contract storage layout

solidity
storage-layout

Zero-config Hardhat plugin to check the output of the compiler for any problems like missing NatSpec

Productivity
CI
Compiler
Docs
Solidity
NatSpec
Build

Helper plugin to manipulate blocks timestamp and trigger mining. It can be used from the command line and in the tests.

Testing

Integrate your Hardhat project and Hardhat network with Ethernal. Ethernal is a block explorer for private chains.

explorer
debugging
development-tool

A plugin to push contracts to tenderly

Deployment
Testing
Tenderly
Verification

Automatically fetch contract ABI from Etherscan

Etherscan
ABI

Hardhat plugin to combine multiple ABIs into a Diamond ABI artifact

diamond standard

Allows changing the current network in Hardhat.

Testing

Transfers Link token amount between accounts.

Chainlink
Link

A plugin for integrating Starknet tools into Hardhat projects

starknet
cairo
layer two

Simple plugin to track gas on the transaction level.

Testing
Gas
Hardhat plugin

Automatically compiles your Solidity contracts with the OVM compiler.

Optimism
Solidity
Compiler
OVM

Integrates Hardhat and ethers.js with Optimism's L2 network.

Optimism
ethers.js
OVM

Automatically deploy the ERC-1820 registry contract to Hardhat EVM chains.

Testing

Allow loading network configs for Hardhat projects in home file

Networks
Config

Prepare the contract artifacts and the TypeChain bindings for registry deployment.

Deployment
Tasks
TypeChain

Hardhat made awesome with a flexible CLI to help run tests, scripts, deploy Mock contracts and more.

CLI
Testing
Tasks
Config

A Hardhat plugin that generates a React hook component from your smart contracts. Hot reloaded into your React app. Deployed or not deployed. And everything typed and initialized.

Ethers
React
Deploy
Typechain
Frontend
Web3modal

Hardhat plugin to deploy your smart contracts across multiple EVM chains with the same deterministic address.

Deployment
CREATE2
Tasks

Hardhat plugin for writing tests in solidity

solidity tests

A jest environment with hardhat built in.

uniswap
testing
jest
node

Automatically expose internal Solidity functions for testing

Solidity
Testing

Buidler plugin for Aragon App development

Aragon
Apps
Buidler plugin

Hardhat Reef plugin for interacting with contracts on the Reef chain

Reef Chain

Injects hethers into the Hardhat Runtime Environment

Hedera
hethers

Hardhat plugin for solidity contract verification on Blockscout block explorer.

Blockscout
Deployment
Solidity
Verification

A Hardhat plugin for working with on-chain proposals

governance
proposals
simulation

Provide tasks to integrate Circom and SnarkJS

Circom
Snarkjs
Preprocessor
Compiling
Tasks
Scripts

Hardhat plugin for Uniswap V3 deployment

uniswap
testing
deployment
local

Hardhat plugin to allow adding any extra data to your network configuration

Metadata
Testing
Tasks
Config

Quickly add security and operational alerting for your project using Forta: a decentralized monitoring network for Web3 systems.

Security
Monitoring
Alerting
Forta

Hardhat TypeScript plugin for Etherspot

smart contract wallet

Generate 0xWeb classes for contracts to easily communicate with the blockchain.

dApp-Client
Class-Generation
Testing

This plugin brings the proxy contract to Hardhat, which allows you to manage the proxy contract in a simple way.

Proxy Contract
Tasks
Scripts

Handy set of utilities for testing contracts in Hardhat projects

testing
solidity

Hardhat plugin for Unlock Protocol deployments.

unlock
nft
memberships
udt
testing
deployment

Hardhat plugin to sync your compiled contract with Laika

Tasks
Laika

Integrate MultiBaas into Hardhat's workflow!

middleware
ethereum
OMG

A Hardhat plugin for integrating smart contracts with Georacle.

Georacle
oracle
geospatial

A plugin for submitting code to Sourcify

Sourcify
Verification

Hardhat plugin to compile the Yul and Yul+ languages into solc compatible artifacts. Works with .yul and .yulp file extensions

Yul
Assembly
Compiler
Yul+

A Buidler plugin to generate a descriptor of your Solidity source code

Compiling
Documentation
Buidler plugin