<
<
<
Hardhat 3 is now production ready. Migrate now
>
>
>

#hardhat-ignition-viem

This plugin integrates Hardhat Ignition with viem.

#Installation

This plugin is part of the Viem Hardhat Toolbox. If you are using that toolbox, there's nothing else you need to do.

To install this plugin, run the following command:

npm install --save-dev @nomicfoundation/hardhat-ignition-viem

In your hardhat.config.ts file, import the plugin and add it to the plugins array:

import hardhatIgnitionViem from "@nomicfoundation/hardhat-ignition-viem";

export default {
  plugins: [hardhatIgnitionViem],
};

#Usage

This plugin adds an ignition property to each network connection:

import { network } from "hardhat";
import Counter from "../ignition/modules/Counter.js";

const { ignition } = await network.connect();
const { counter } = await ignition.deploy(Counter);

await counter.write.inc();
console.log(await counter.read.x());

The ignition object has a deploy method that can be used to deploy Ignition modules. This returns a type-safe viem contract instance for each contract returned by the module.