Skip to content
Cookie Policy
We use cookies to improve your experience on our website.
Read More
Reject all
Accept all
Hardhat 3
Search
Ctrl
K
Cancel
GitHub
X
Discord
Select theme
Dark
Light
Auto
Hardhat 3
Hardhat 3
Hardhat Ignition
Migrate from Hardhat 2
Plugin development
Getting started
Hardhat 3
What's new in Hardhat 3
Beta status
Migrate to Hardhat 3
Tutorial
Introduction
Setting up a Hardhat project
Writing and testing a Solidity contract
Using an assertions library
Writing fuzz tests in Solidity
Using a Hardhat plugin
Writing TypeScript tests
Measuring test coverage
Deploying a contract
Using Configuration Variables
Verifying a contract
Learn more
Guides
Writing Smart contracts
Writing contracts overview
Managing dependencies
Using remappings
Configuring the compiler
Isolated builds
Build profiles
Testing Smart contracts
Testing overview
Using Solidity tests
Using TypeScript & viem
Using TypeScript & ethers.js
Code coverage
Gas statistics for your test runs
Deploying Smart contracts
Deployment overview
Using Hardhat Ignition
Using scripts
Verifying contracts
Managing config values and secrets
Writing Hardhat tasks
Writing scripts with Hardhat
Forking a network
Running a local development node
Using the Hardhat console
Getting help
Cookbook
Cookbook overview
Using an HTTP proxy
Using multiple Solidity versions
Generating artifacts from npm dependencies
Using absolute imports in Solidity
Using a custom Solidity compiler
Running Hardhat with debug logs
Reference
Configuration
Network Manager
Simulated Networks
JSON-RPC Methods
Build artifacts
Solidity console.log
Foundry compatibility
Solidity test cheatcodes
Cheatcodes overview
Assertions
Asserts
expectCall
expectCallMinGas
expectCreate
expectCreate2
expectEmit
expectEmitAnonymous
expectRevert
expectSafeMemory
expectSafeMemoryCall
Environment
accessList
accesses
blobBaseFee
blobhashes
chainId
clearMockedCalls
cloneAccount
coinbase
cool
coolSlot
deal
difficulty
envExists
etch
fee
snapshotGas cheatcodes
getBlobBaseFee
getBlobhashes
getBlockNumber
getBlockTimestamp
getChain
getLabel
getMappingKeyAndParentOf
getMappingLength
getMappingSlotAt
getNonce
getRawBlockHeader
getRecordedLogs
getStateDiff
getStateDiffJson
interceptInitcode
isContext
lastCallGas
load
loadAllocs
mockCall
mockCallRevert
mockCalls
mockFunction
noAccessList
pauseGasMetering
pauseTracing
prank
prevrandao
readCallers
record
recordLogs
resetGasMetering
resetNonce
resumeGasMetering
resumeTracing
roll
setBlockhash
setNonce
setNonceUnsafe
setSeed
startDebugTraceRecording
startMappingRecording
startPrank
startStateDiffRecording
stopAndReturnDebugTraceRecording
stopAndReturnStateDiff
stopExpectSafeMemory
stopMappingRecording
stopPrank
stopRecord
store
txGasPrice
warmSlot
warp
External
envAddress
envBool
envBytes
envBytes32
envInt
envOr
envString
envUint
ffi
getCode
getDeployedCode
keyExists
keyExistsJson
keyExistsToml
parseJson
parseJsonAddress
parseJsonAddressArray
parseJsonBool
parseJsonBoolArray
parseJsonBytes
parseJsonBytesArray
parseJsonBytes32
parseJsonBytes32Array
parseJsonInt
parseJsonIntArray
parseJsonKeys
parseJsonString
parseJsonStringArray
parseJsonType
parseJsonTypeArray
parseJsonUint
parseJsonUintArray
parseToml
parseTomlAddress
parseTomlAddressArray
parseTomlBool
parseTomlBoolArray
parseTomlBytes
parseTomlBytesArray
parseTomlBytes32
parseTomlBytes32Array
parseTomlInt
parseTomlIntArray
parseTomlKeys
parseTomlString
parseTomlStringArray
parseTomlType
parseTomlTypeArray
parseTomlUint
parseTomlUintArray
projectRoot
prompt
serializeJson
setEnv
sleep
unixTime
writeJson
writeToml
File
File cheatcodes
fsMetadata
Forking
activeFork
allowCheatcodes
createFork
createSelectFork
isPersistent
makePersistent
revokePersistent
rollFork
selectFork
transact
Fuzzer
assume
assumeNoRevert
RPC
RPC related cheatcodes
Signing
sign
signCompact
signP256
State-snapshots
deleteSnapshot
deleteSnapshots
revertTo
revertToAndDelete
snapshot
snapshotState cheatcodes
Utilities
addr
computeCreateAddress
computeCreate2Address
contains
copyStorage
dumpState
ensNamehash
eth_getLogs
indexOf
label
parseAddress
parseBool
parseBytes
parseBytes32
parseInt
parseUint
promptAddress
promptSecret
promptSecretUint
promptUint
publicKeyP256
randomAddress
randomBytes
randomBytes4
randomBytes8
randomInt
randomUint
replace
serializeJsonType
serializeUintToHex
setArbitraryStorage
shuffle
skip
sort
split
toBase64
toBase64URL
toLowercase
toString
toUppercase
trim
tryFfi
Stability guarantees
Node.js support
Hardhat 3 errors
Explanations
Hardhat 3 projects
The Hardhat Runtime Environment
Multichain support
Network Management
Simulated Networks
Configuration Variables
Global Options
Plugins
Official plugins
Community plugins
Plugin development docs
Hardhat 2 docs
GitHub
X
Discord
Select theme
Dark
Light
Auto
Foundry compatibility
WIP