How to verify smart contract
Submit your smart contract code for independent verification and publishing on Avascan
With the Etherscan Compatible Verify Contract API, verify smart contract on Avascan is now more easy than ever. There are few things you need to connect your favorite verify contract client with Etherscan compatibility:
- 1.Define the
networkId
: mainnet, testnet - 2.
- 3.Compose the Etherscan Compatible API endpoint:
https://api.avascan.info/v2/network/:networkId/evm/:chainId/etherscan
The following endpoints are provided only as an example:
Blockchain | API Endpoint (https) |
---|---|
C-Chain mainnet | api.avascan.info/v2/network/mainnet/evm/43114/etherscan |
Swimmer mainnet | api.avascan.info/v2/network/mainnet/evm/73772/etherscan |
C-Chain testnet | api.avascan.info/v2/network/testnet/evm/43113/etherscan |
WAGMI testnet | api.avascan.info/v2/network/testnet/evm/11111/etherscan |
hardhat-etherscan, is an hardhat plugin, that simplify the smart contract verification process on Etherscan. With the Etherscan Compatible Verify Contract API, you can use this tool to verify your smart contract on Avascan as well.
Let's say you want to verify your smart contract on wagmi, this is an example of
hardhat.config.ts
:import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
import "@nomiclabs/hardhat-etherscan";
const config: HardhatUserConfig = {
etherscan: {
apiKey: {
wagmi: "avascan", // apiKey is not required, just set a placeholder
},
customChains: [
{
network: "wagmi",
chainId: 11111,
urls: {
apiURL: "https://api.avascan.info/v2/network/testnet/evm/11111/etherscan",
browserURL: "https://testnet.avascan.info/blockchain/wagmi"
}
}
]
},
networks: {
wagmi: {
url: 'https://subnets.avax.network/wagmi/wagmi-chain-testnet/rpc',
accounts: [process.env.PRIVATE_KEY]
},
},
};
export default config;
npx hardhat run scripts/deploy.ts --network wagmi
export PRIVATE_KEY=...
npx hardhat verify --network wagmi 0x...
Last modified 7mo ago