Top SitesHardhat 3

Machine Readiness

Stored receipt and evidence

Overall

20

Readable

65

Callable

0

Commerce

0

Payment

0

Machine Access

Inspect the site's MCP endpoint

Open MCP explorer

DialtoneApp can scan the stored discovery files for this domain, try the MCP initialize handshake, and show the raw protocol transcript.

Purchase boundary

read only

Control boundary

unknown

Payment rails

None

Payment providers

None

Payment methods

None

Payment protocols

None

Payment assets

None

Payment networks

None

Capabilities

None

Verified payment surface

No

Crypto only

No

Readable docs

robots, llms

Products

0

Variants

0

Priced variants

0

Currencies

0

Offers

0

Priced offers

0

Priced actions

0

Samples

Offer samples

No stored offer samples.

Samples

Action samples

No stored action samples.

Samples

Product samples

No stored product samples.

Document

robots.txt

Open robots.txt
User-agent: *
Allow: /

Sitemap: https://hardhat.org/sitemap-index.xml

Document

llms.txt

Open llms.txt
# Hardhat 3

> Hardhat is a development environment for Ethereum and EVM-compatible blockchains.
> It helps developers compile, deploy, test, and debug Solidity smart contracts.
> Solidity is the primary programming language for writing smart contracts on Ethereum.
>
> This documentation covers Hardhat 3, the latest major version.
> The docs are organized into sections: core Hardhat usage, Hardhat Ignition
> (a declarative deployment system), migration guides from Hardhat 2,
> and a plugin development guide.


## Hardhat 3
- [Getting started with Hardhat 3](https://hardhat.org/docs/getting-started.md): Get started using Hardhat 3
- [Hardhat 2's documentation](https://hardhat.org/hardhat2.md): Documentation for Hardhat 2, the previous version of Hardhat

### Hardhat 3

- [What's new in Hardhat 3](https://hardhat.org/docs/hardhat3/whats-new.md): What's new in Hardhat 3
- [Beta status](https://hardhat.org/docs/hardhat3/beta-status.md): Hardhat 3 beta status
- [Migrate to Hardhat 3](https://hardhat.org/docs/hardhat3/migration.md): How to migrate to Hardhat 3

### Tutorial

- [Hardhat 3 Tutorial](https://hardhat.org/docs/tutorial.md): Hardhat 3 Tutorial - Introduction
- [Setting up a Hardhat project](https://hardhat.org/docs/tutorial/setup.md): Hardhat 3 Tutorial - Setting up a project
- [Writing and testing a Solidity contract](https://hardhat.org/docs/tutorial/writing-and-testing.md): Hardhat 3 Tutorial - Writing and testing a Solidity contract
- [Using an assertions library](https://hardhat.org/docs/tutorial/assertions-library.md): Hardhat 3 Tutorial - Using an assertions library
- [Writing fuzz tests in Solidity](https://hardhat.org/docs/tutorial/fuzz-tests.md): Hardhat 3 Tutorial - Writing fuzz tests in Solidity
- [Using a Hardhat plugin](https://hardhat.org/docs/tutorial/plugins.md): Hardhat 3 Tutorial - Using a Hardhat plugin
- [Writing TypeScript tests](https://hardhat.org/docs/tutorial/typescript-tests.md): Hardhat 3 Tutorial - Writing TypeScript tests
- [Measuring test coverage](https://hardhat.org/docs/tutorial/coverage.md): Hardhat 3 Tutorial - Measuring test coverage
- [Deploying a contract](https://hardhat.org/docs/tutorial/deploying.md): Hardhat 3 Tutorial - Deploying a contract with Hardhat Ignition
- [Using Configuration Variables](https://hardhat.org/docs/tutorial/configuration-variables.md): Hardhat 3 Tutorial - Using Configuration Variables
- [Verifying a contract](https://hardhat.org/docs/tutorial/verifying.md): Hardhat 3 Tutorial - Verifying a contract on Etherscan
- [Learn more](https://hardhat.org/docs/tutorial/learn-more.md): Hardhat 3 Tutorial - Learn more about Hardhat

### Guides

- [Verifying smart contracts](https://hardhat.org/docs/guides/smart-contract-verification.md): How to verify a smart contract
- [Managing config values and secrets safely](https://hardhat.org/docs/guides/configuration-variables.md): How to manage config variables and secrets safely
- [Writing Hardhat tasks](https://hardhat.org/docs/guides/writing-tasks.md): How to write custom Hardhat tasks with Hardhat 3
- [Writing scripts with Hardhat](https://hardhat.org/docs/guides/writing-scripts.md): How to write and run Hardhat scripts
- [Displaying execution traces](https://hardhat.org/docs/guides/execution-traces.md): How to control the amount of output shown during test execution, script runs, and deployments
- [Forking a network](https://hardhat.org/docs/guides/forking.md): How to fork the state of another network
- [Running a local development node](https://hardhat.org/docs/guides/hardhat-node.md): How to run and configure a local Hardhat development node for testing and development
- [Using the Hardhat console](https://hardhat.org/docs/guides/hardhat-console.md): How to use the interactive Hardhat console
- [Getting help](https://hardhat.org/docs/guides/getting-help.md): How to get help about Hardhat 3

#### Writing Smart contracts

- [Writing contracts overview](https://hardhat.org/docs/guides/writing-contracts.md): How to write smart contracts using Hardhat 3
- [Managing smart contract dependencies](https://hardhat.org/docs/guides/writing-contracts/dependencies.md): How to use npm and git submodule dependencies
- [Using Solidity remappings](https://hardhat.org/docs/guides/writing-contracts/remappings.md): How to use remappings
- [Configuring the compiler](https://hardhat.org/docs/guides/writing-contracts/configuring-the-compiler.md): How to configure the compiler
- [Isolated Builds](https://hardhat.org/docs/guides/writing-contracts/isolated-builds.md): How to use isolated builds in Hardhat 3 for better reproducibility
- [Build Profiles](https://hardhat.org/docs/guides/writing-contracts/build-profiles.md): How to use Build Profiles in Hardhat 3

#### Testing Smart contracts

- [Testing overview](https://hardhat.org/docs/guides/testing.md): How to test your smart contracts
- [Writing unit tests in Solidity](https://hardhat.org/docs/guides/testing/using-solidity.md): How to write unit tests in Solidity
- [Testing your smart contracts with viem and node:test](https://hardhat.org/docs/guides/testing/using-viem.md): Learn how to test your smart contracts using viem and Node.js test runner.
- [Testing your smart contracts with Ethers and Mocha](https://hardhat.org/docs/guides/testing/using-ethers.md): Learn how to test your smart contracts using Ethers.js and Mocha.
- [Inline configuration for Solidity tests](https://hardhat.org/docs/guides/testing/inline-configuration.md): How to use inline comments to override the solidity tests' configuration
- [Computing code coverage of your tests](https://hardhat.org/docs/guides/testing/code-coverage.md): How to compute the code coverage of your tests
- [Gas statistics for your test runs](https://hardhat.org/docs/guides/testing/gas-statistics.md): How to get gas statistics from your test runs
- [Gas snapshots](https://hardhat.org/docs/guides/testing/gas-snapshots.md): How to track and compare gas usage across test runs

#### Deploying Smart contracts

- [Deployment overview](https://hardhat.org/docs/guides/deployment.md): How to deploy a smart contract using Hardhat
- [Deploying smart contracts using Hardhat Ignition](https://hardhat.org/docs/guides/deployment/using-ignition.md): How to deploy a smart contract using Hardhat Ignition
- [Deploying smart contracts using scripts](https://hardhat.org/docs/guides/deployment/using-scripts.md): How to deploy a smart contract using scripts

### Cookbook

- [Cookbook overview](https://hardhat.org/docs/cookbook.md): A section with a collection of recipes for common tasks.
- [Using Hardhat 3 with a HTTP proxy](https://hardhat.org/docs/cookbook/http-proxies.md): How to use Hardhat 3 with an HTTP proxy
- [Using multiple versions of Solidity in a single project](https://hardhat.org/docs/cookbook/multiple-solidity-versions.md): How to use multiple versions of Solidity in a single project
- [Generating artifacts from npm dependencies](https://hardhat.org/docs/cookbook/npm-artifacts.md): How to compile files from npm dependencies and generate compilation artifacts for them
- [Using absolute imports in Solidity](https://hardhat.org/docs/cookbook/absolute-imports.md): How to configure and use absolute import paths in your Solidity contracts
- [Using a custom Solidity compiler](https://hardhat.org/docs/cookbook/custom-solidity-compiler.md): How to configure Hardhat to use a custom Solidity compiler
- [Running Hardhat with debug logs](https://hardhat.org/docs/cookbook/debug-logs.md): How to run Hardhat with debug logs
- [Creating a Hardhat Runtime Environment programmatically](https://hardhat.org/docs/cookbook/programmatic-hre.md): How to initialize and configure a Hardhat Runtime Environment programmatically

### Reference

- [Configuration](https://hardhat.org/docs/reference/configuration.md): Hardhat 3 configuration reference
- [The Network Manager API](https://hardhat.org/docs/reference/network-manager.md): How to use the Network Manager of Hardhat 3
- [Simulated Networks by EDR](https://hardhat.org/docs/reference/edr-simulated-networks.md): Reference documentation for networks simulated by EDR
- [OP Stack support](https://hardhat.org/docs/reference/op-stack-support.md): Reference documentation for OP Stack chain simulation in Hardhat
- [JSON-RPC Methods](https://hardhat.org/docs/reference/json-rpc-methods.md): Reference of JSON-RPC methods supported by Hardhat's simulated networks
- [Compilation artifacts formats](https://hardhat.org/docs/reference/artifacts.md): Hardhat 3 compilation artifacts formats reference
- [Solidity console.log() reference](https://hardhat.org/docs/reference/console-log.md): Reference documentation of Hardhat's Solidity console.log() functionality
- [Foundry compatibility](https://hardhat.org/docs/reference/foundry-compatibility.md): Hardhat 3's Foundry compatibility
- [Stability guarantees](https://hardhat.org/docs/reference/stability-guarantees.md): Hardhat 3 stability guarantees
- [Node.js support](https://hardhat.org/docs/reference/nodejs-support.md): Hardhat 3 Node.js support policy
- [Hardhat 3 errors](https://hardhat.org/docs/reference/errors.md): This section contains a list of all the possible errors you may encounter when using Hardhat and an explanation of each of them

#### Solidity test cheatcodes

- [Cheatcodes overview](https://hardhat.org/docs/reference/cheatcodes/cheatcodes-overview.md): A section with the documentation of all Solidity test cheatcodes supported by Hardhat.
- [Unsupported cheatcodes](https://hardhat.org/docs/reference/cheatcodes/unsupported-cheatcodes.md): List of unsupported cheatcodes in Hardhat.

### Explanations

- [Hardhat 3 projects](https://hardhat.org/docs/explanations/hardhat-projects.md): An explanation about what a Hardhat project is
- [The Hardhat Runtime Environment](https://hardhat.org/docs/explanations/hardhat-runtime-environment.md): An explanation about what the Hardhat Runtime Environment (HRE) is
- [Multichain support](https://hardhat.org/docs/explanations/multichain-support.md): An explanation of Hardhat 3's Multichain support and its Chain Type concept
- [Network Management](https://hardhat.org/docs/explanations/network-management.md): An explanation about Hardhat 3's Network Management
- [Simulated Networks by EDR](https://hardhat.org/docs/explanations/edr-simulated-networks.md): An explanation of the networks simulated by EDR
- [Configuration Variables](https://hardhat.org/docs/explanations/configuration-variables.md): An explanation about Hardhat 3's Configuration Variables
- [Global Options](https://hardhat.org/docs/explanations/global-options.md): An explanation about Hardhat's global options

### Plugins


## Hardhat Ignition
- [Getting started with Hardhat Ignition](https://hardhat.org/ignition/docs/getting-started.md): Getting started with Hardhat Ignition, a declarative smart contract deployment system.

### Guides

- [Creating Ignition Modules](https://hardhat.org/ignition/docs/guides/creating-modules.md): How to create an Ignition Module
- [Deploying a module](https://hardhat.org/ignition/docs/guides/deploy.md): How to deploy an Ignition Module
- [Visualizing your Ignition Modules](https://hardhat.org/ignition/docs/guides/visualize.md): How to visualize an Ignition Module
- [Modifying an existing module](https://hardhat.org/ignition/docs/guides/modifications.md): How to modify an existing Ignition Module
- [Using Hardhat Ignition in your tests](https://hardhat.org/ignition/docs/guides/tests.md): How to use Hardhat Ignition in your tests
- [Verifying your deployment](https://hardhat.org/ignition/docs/guides/verify.md): How to verify an Ignition deployment
- [Using Ethers](https://hardhat.org/ignition/docs/guides/ethers.md): How to use Ethers.js with Ignition
- [Version control of deployments](https://hardhat.org/ignition/docs/guides/versioning.md): How to version control your deployments
- [Deploying via create2](https://hardhat.org/ignition/docs/guides/create2.md): How to use create2 with Ignition
- [Upgradeable Contracts](https://hardhat.org/ignition/docs/guides/upgradeable-proxies.md): How to use upgradeable contracts with Hardhat Ignition
- [Deploying with a Ledger hardware wallet](https://hardhat.org/ignition/docs/guides/ledger.md): How to to deploy with Hardhat Ignition using a Ledger wallet
- [Deploying within Hardhat scripts](https://hardhat.org/ignition/docs/guides/scripts.md): How to to deploy with Hardhat Ignition using a Ledger wallet

### Reference

- [Hardhat Ignition configuration](https://hardhat.org/ignition/docs/reference/config.md): Reference documentation about Hardhat Ignition's configuration
- [Environment variables](https://hardhat.org/ignition/docs/reference/environment-variables.md): Hardhat Ignition env variables
- [CLI commands](https://hardhat.org/ignition/docs/reference/cli-commands.md): Hardhat Ignition command line commands

### Explanations

- [Module execution](https://hardhat.org/ignition/docs/explanations/execution.md): An explanation about Ignition's module execution
- [Deployment artifacts](https://hardhat.org/ignition/docs/explanations/deployment-artifacts.md): An explanation about Ignition's deployment artifacts
- [Reconciliation](https://hardhat.org/ignition/docs/explanations/reconciliation.md): An explanation about Ignition's reconciliation process
- [Error handling](https://hardhat.org/ignition/docs/explanations/error-handling.md): How to Hardhat Ignition handles errors

## Migrate from Hardhat 2
- [Migrate from Hardhat 2](https://hardhat.org/docs/migrate-from-hardhat2.md): How to migrate from Hardhat 2 to Hardhat 3

### Guides

- [Migrate Mocha tests from Hardhat 2](https://hardhat.org/docs/migrate-from-hardhat2/guides/mocha-tests.md): How to migrate Mocha tests from Hardhat 2 to Hardhat 3

## Plugin development
- [Hardhat plugin development](https://hardhat.org/docs/plugin-development.md): How to build Hardhat 3 plugins to extend and customize its behavior

### Tutorial

- [Your first Hardhat 3 plugin](https://hardhat.org/docs/plugin-development/tutorial.md): Hardhat 3 plugin tutorial - Your first Hardhat 3 plugin
- [Extending the NetworkConnection](https://hardhat.org/docs/plugin-development/tutorial/network-connection.md): Hardhat 3 plugin tutorial - Extending the NetworkConnection
- [Adding config to your plugin](https://hardhat.org/docs/plugin-development/tutorial/config.md): Hardhat 3 plugin tutorial - Adding config to your plugin
- [Creating a custom task](https://hardhat.org/docs/plugin-development/tutorial/task.md): Hardhat 3 plugin tutorial - Creating a custom task
- [Testing your plugin](https://hardhat.org/docs/plugin-development/tutorial/testing.md): Hardhat 3 plugin tutorial - Testing your plugin
- [Next steps](https://hardhat.org/docs/plugin-development/tutorial/next-steps.md): Hardhat 3 plugin tutorial - Next steps

### Guides

- [Using the Hardhat 3 plugin template](https://hardhat.org/docs/plugin-development/guides/hardhat3-plugin-template.md): How to use the Hardhat 3 plugin template repository to build your own plugin
- [Plugin dependencies](https://hardhat.org/docs/plugin-development/guides/dependencies.md): How to use other plugins as dependencies
- [Publishing a plugin](https://hardhat.org/docs/plugin-development/guides/publishing.md): How to publish your plugin to npm
- [Writing integration tests for plugins](https://hardhat.org/docs/plugin-development/guides/integration-tests.md): How to write integration tests for your plugin
- [Getting help](https://hardhat.org/docs/plugin-development/guides/getting-help.md): Where to get help building Hardhat 3 plugins

### Reference

- [The HardhatPlugin object](https://hardhat.org/docs/plugin-development/reference/hardhat-plugin-object.md): Reference documentation for the HardhatPlugin object

### Explanations

- [Lifecycle of the components of a Hardhat 3 plugin](https://hardhat.org/docs/plugin-development/explanations/lifecycle.md): An explanation about the lifecycles of a Hardhat 3 plugin
- [Hooks and Hook Handlers](https://hardhat.org/docs/plugin-development/explanations/hooks.md): An explanation about Hardhat 3's Hooks and Hook Handlers
- [Type extensions](https://hardhat.org/docs/plugin-development/explanations/type-extensions.md): What are type extensions in a Hardhat 3 plugin and how to use them
- [Config system](https://hardhat.org/docs/plugin-development/explanations/config.md): An explanation about the Hardhat 3 config system and how to extend it
- [Peer dependencies in Hardhat 3 plugins](https://hardhat.org/docs/plugin-development/explanations/peer-dependencies.md): An explanation about Hardhat 3 plugins and peer dependencies

## Official Plugins

- [hardhat-toolbox-viem](https://hardhat.org/docs/plugins/hardhat-toolbox-viem.md): Nomic Foundation's recommended bundle of Hardhat plugins (viem based)
- [hardhat-toolbox-mocha-ethers](https://hardhat.org/docs/plugins/hardhat-toolbox-mocha-ethers.md): Nomic Foundation's recommended bundle of Hardhat plugins (ethers based)
- [hardhat-keystore](https://hardhat.org/docs/plugins/hardhat-keystore.md): This plugin adds an encrypted keystore to Hardhat, to handle secret values (e.g. API keys and private keys) in your config securely.
- [hardhat-verify](https://hardhat.org/docs/plugins/hardhat-verify.md): Automatically verify contracts
- [hardhat-network-helpers](https://hardhat.org/docs/plugins/hardhat-network-helpers.md): A plugin that provides a set of utility functions to interact with locally simulated networks.
- [hardhat-ledger](https://hardhat.org/docs/plugins/hardhat-ledger.md): A plugin that allows to interact with Ledger hardware wallets.
- [hardhat-viem](https://hardhat.org/docs/plugins/hardhat-viem.md): Integrates viem into a Hardhat project
- [hardhat-viem-assertions](https://hardhat.org/docs/plugins/hardhat-viem-assertions.md): Adds a set of viem-based testing assertions to Hardhat
- [hardhat-ethers](https://hardhat.org/docs/plugins/hardhat-ethers.md): Integrates Ethers.js into a Hardhat project
- [hardhat-ethers-chai-matchers](https://hardhat.org/docs/plugins/hardhat-ethers-chai-matchers.md): Adds a set of ethers-based matchers to chai
- [hardhat-typechain](https://hardhat.org/docs/plugins/hardhat-typechain.md): Generates TypeChain bindings for smart contracts
- [hardhat-ignition](https://hardhat.org/docs/plugins/hardhat-ignition.md): Hardhat's official deployment solution
- [hardhat-ignition-viem](https://hardhat.org/docs/plugins/hardhat-ignition-viem.md): Adds support for viem to Hardhat Ignition
- [hardhat-ignition-ethers](https://hardhat.org/docs/plugins/hardhat-ignition-ethers.md): Adds support for Ethers.js to Hardhat Ignition
- [hardhat-mocha](https://hardhat.org/docs/plugins/hardhat-mocha.md): Integrates Mocha into a Hardhat project
- [hardhat-node-test-runner](https://hardhat.org/docs/plugins/hardhat-node-test-runner.md): Integrates Node.js' builtin test runner into a Hardhat project
- [hardhat-foundry](https://hardhat.org/docs/plugins/hardhat-foundry.md): Hardhat plugin that provides compatibility with Foundry-based projects' remappings

## Community Plugins

- [hardhat-deploy](https://www.npmjs.com/package/hardhat-deploy): A Hardhat Plugin For Replicable Deployments And Easy Testing
- [hardhat-ignore-warnings](https://www.npmjs.com/package/hardhat-ignore-warnings): Hardhat plugin that adds ways to ignore Solidity warnings
- [@solidstate/hardhat-contract-sizer](https://www.npmjs.com/package/@solidstate/hardhat-contract-sizer): Output Solidity contract sizes with Hardhat
- [@solidstate/hardhat-git](https://www.npmjs.com/package/@solidstate/hardhat-git): Git-rev-based HRE execution
- [@solarity/hardhat-migrate](https://www.npmjs.com/package/@solarity/hardhat-migrate): The simplest way to deploy smart contracts
- [@solarity/hardhat-gobind](https://www.npmjs.com/package/@solarity/hardhat-gobind): Hardhat plugin to generate Go bindings for smart contracts
- [@solarity/hardhat-markup](https://www.npmjs.com/package/@solarity/hardhat-markup): Hardhat plugin to generate customizable smart contracts documentation
- [@solidstate/hardhat-bytecode-exporter](https://www.npmjs.com/package/@solidstate/hardhat-bytecode-exporter): Export Ethereum smart contract bytecode
- [@openscan/hardhat-plugin](https://www.npmjs.com/package/@openscan/hardhat-plugin): Hardhat plugin to explore the hardhat network, blocks, txs, contracts, etc.
- [@solidstate/hardhat-abi-exporter](https://www.npmjs.com/package/@solidstate/hardhat-abi-exporter): Export Ethereum smart contract ABIs
- [@solidstate/hardhat-accounts](https://www.npmjs.com/package/@solidstate/hardhat-accounts): Display connected accounts and balances
- [@solidstate/hardhat-storage-layout-inspector](https://www.npmjs.com/package/@solidstate/hardhat-storage-layout-inspector): Compare storage layouts between contracts and revisions
- [hardhat-contract-signatures](https://www.npmjs.com/package/hardhat-contract-signatures): Display function, event, and error signatures for your contracts in the console
- [hardhat-reown](https://www.npmjs.com/package/hardhat-reown): Use the reown.com supported wallets with Hardhat
- [hashscan-verify](https://www.npmjs.com/package/hashscan-verify): Verify contracts on Hashscan
- [@solidstate/hardhat-license-identifier](https://www.npmjs.com/package/@solidstate/hardhat-license-identifier): Prepend local Solidity source files with an SPDX License Identifier
- [@solidstate/hardhat-selector-uploader](https://www.npmjs.com/package/@solidstate/hardhat-selector-uploader): Upload local function selectors to the Ethereum Selector Database
- [@solidstate/hardhat-log-remover](https://www.npmjs.com/package/@solidstate/hardhat-log-remover): Remove Hardhat console.log imports and calls from Solidity source files
- [@solidstate/hardhat-linearization](https://www.npmjs.com/package/@solidstate/hardhat-linearization): Calculate Solidity contract inheritance order

Document

llms-full.txt

Not stored for this site.