Verifying Contracts
Verifying your smart contract's source code on the block explorer allows others to see your contract's code and verify that it operates as intended. The Zircuit block explorer provides two ways of verifying source code:
manual verification through direct upload of Solidity code from your
.sol
files or the compiler artifacts
Automated Verification
If you are using Hardhat or Foundry to develop your project, you can use a plug-in to verify the smart contracts:
Hardhat
Before you start, install Hardhat if you haven't already, and deploy your smart contracts to Zircuit. Then:
Install the Hardhat plug-in:
npm install --save-dev @nomicfoundation/hardhat-verify
Configure Hardhat by adding the plug-in to your
hardhat.config.js
:
Run the verification command from your terminal:
Replace <deployed-contract-address>
, and [constructor-arguments]
with your specific details.
If the command runs successfully, your contract's page will now display the source code and a Contract source code verified badge.
Foundry
Install Foundry if not already installed, and deploy your smart contracts to Zircuit. Then:
Use the forge
command to verify the contract:
Replace <deployed-contract-address>
, and <source-file>:<contract-name>
with your details.
If you need to specify the constructor arguments, use the --constructor-args
option with the ABI-encoded argument string. You can refer to the verify-contract
subcommand documentation for more details.
If the command runs successfully, your contract's page on https://explorer.zircuit.com will now display the source code and a Contract source code verified badge.
Manual Verification
You will require the following:
Deployed Smart Contract: The contract's Zircuit address
Solidity Source Code: The solc artifacts in the standard JSON format, or the exact source code as it was at the time of contract deployment + their metadata.json file(s)
Compiler Version: The Solidity compiler version used to compile the deployed contract
Constructor Arguments: The contract’s constructor arguments during the deployment, if any
Follow these steps for verification:
Navigate to your smart contract on https://explorer.zircuit.com and use the search bar to find the smart contract for which you would like to verify the source code.
On the contract's page, click on the Contract tab. Click on the Verify and Publish link.
On the next screen, select the compiler version used to compile source code, and upload the source code files. Those can be the standard json input/output files for solc, or Solidity and metadata.json file(s). Click next.
On the next page, enter the constructor argument data types and values. Use the ABI encoded format or the form, and the system will convert them for you. if using the .sol files, you will also need to upload their respective metadata.json files. When finished, upload the source files and click Verify and Publish.
If successful, your contract's page will now display the source code and a Contract Source Code Verified badge. If the process fails, double-check the compiler version, constructor parameters, and exactness of the source code.
Last updated