@nomicfoundation/hardhat-ignition-viem
v3.0.9
Published
The Viem extension to Hardhat Ignition. Hardhat Ignition is a declarative system for deploying smart contracts on Ethereum. It enables you to define smart contract instances you want to deploy, and any operation you want to run on them. By taking over the
Maintainers
Readme
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-viemIn your hardhat.config.ts file, import the plugin and add it to the plugins array:
import { defineConfig } from "hardhat/config";
import hardhatIgnitionViem from "@nomicfoundation/hardhat-ignition-viem";
export default defineConfig({
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.
