Hardhat Community Plugins

Discover community plugins for Hardhat that work on ZKsync Era.

The following plugins were created by the community and tested on ZKsync Era. Feel free to suggest new plugins by creating a issue(feat request) at this page.

Supported plugins

Here is a template project configured with all plugins mentioned below. You can use it as a starting template for your projects.

hardhat-deploy

Multiple tasks for advanced deployments.

This plugin was updated to support ZKsync Era on version 0.11.26.

More information

typechain/hardhat

Automatically generate TypeScript bindings for smart contracts.

More Information

openzeppelin/hardhat-upgrades

Plugin used to deploy and update upgradable smart contracts (proxies). Use the hardhat-zksync-upgradable plugin which provides an easy-to-use interface for interacting with the OpenZeppelin Upgrades Plugins within a Hardhat environment on ZKsync.

hardhat-chai-matchers

Adds capabilities to make your smart contract tests easy to write and read.

More Information

hardhat-contract-sizer

More Information

hardhat-abi-exporter

Different options to export smart contract ABIs.

More Information

hardhat-gas-reporter

Although this plugin works out of the box, ZKsync Era has a different fee model than Ethereum. Users should consider this when analysing the report generated by this plugin.

In addition, make sure to read about local testing.

More Information

hardhat-preprocessor

This plugin enables the pre-processing of contract source code prior to compilation.

CACHE_BREAKER Field Issue:The hardhat-preprocessor plugin adds the CACHE_BREAKER field to the list of libraries, which can lead to failed verification when using hardhat-zksync-verify plugin. To prevent this, please include the --no-compile flag: yarn hardhat verify --no-compile.

More Information

nomicfoundation/hardhat-network-helpers

This plugin adds new methods that interact with the Hardhat network used for testing.

In version 1.0.12, hardhat-network-helpers introduced support for both In-Memory Node and Dockerized setups, allowing methods such as loadFixture to be utilized in test files.

Although methods like hardhat_impersonateAccount or hardhat_setBalance are supported, other RPC methods might not be supported by the In-Memory Node. Please check the list of suported APIs.

Unsupported plugins

nomiclabs/hardhat-etherscan

This plugin has been deprecated in favor of nomicfoundation/hardhat-verify. The ZKsync plugins for smart contract verification are built on top of nomicfoundation/hardhat-verify, making migration to it necessary.


Made with ❤️ by the ZKsync Community