Hardhat
These are the steps for verifying smart contracts via Hardhat. Hardhat is a comprehensive development environment that facilitates contract compilation, deployment, and authentication.
Step 1: Install Hardhat.
npm instructions:
npm install --save-dev hardhatyarn instructions:
yarn add --dev hardhatStep 2: Install the Hardhat plugin (requires v3.0.0+). Use either the npm or yarn commands:
npm instructions:
npm install --save-dev @nomiclabs/hardhat-etherscanyarn instructions:
yarn add --dev @nomiclabs/hardhat-etherscanStep 3: For hardhat.config.js, add the following statement:
hardhat.config.js, add the following statement:require("@nomiclabs/hardhat-etherscan");For TypeScript, add the following line to hardhat.config.ts:
import "@nomiclabs/hardhat-etherscan";Step 4: Add Cascadia to hardhat.config.js.
etherscan: {
apiKey: {
cascadia: "abc"
},
customChains: [
{
network: "cascadia",
chainId: 6102,
urls: {
apiURL: "https://explorer.cascadia.foundation/api",
browserURL: "https://explorer.cascadia.foundation",
}
}
]
}
apiKey: Refers to the unique API key associated with the block explorer account.
network: Specifies the name of the network, which must match the name of the apiKey.
browserURL: Indicates the URL for accessing the block explorer interface.
chainID: Identifies the unique identifier for the network chain being accessed.
apiURL: Specifies the URL used for accessing the block explorer's API service.
The entire code should appear as follows:
require("@nomicfoundation/hardhat-toolbox");
require("@nomiclabs/hardhat-etherscan");
require('dotenv').config()
const private_key = process.env.PRIVATE_KEY
module.exports = {
solidity: "0.8.17",
networks: {
cascadia: {
url: "https://testnet.cascadia.foundation",
accounts: [private_key]
}
},
etherscan: {
apiKey: {
cascadia: "abc"
},
customChains: [
{
network: "cascadia",
chainId: 6102,
urls: {
apiURL: "https://explorer.cascadia.foundation/api",
browserURL: "https://explorer.cascadia.foundation",
}
}
]
}
};Step 5: Check if Cascadia is successfully supported:
npx hardhat verify --list-networksStep 6: To verify the contract, constructor arguments can be included with the verify task.
npx hardhat verify --network <network_name> DEPLOYED_CONTRACT_ADDRESS “Constructor argument 1”For example:
npx hardhat verify –network Cascadia 0x856C336cD8eBDCE7B5Bb3F2DEB1bf3160B176880 31536000Step 7: Contract verification can be confirmed via the console:

Last updated