#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.