Developers can reference this page which describes the verification process within two parts - the first being the preliminary steps required to pre-verify their contract and the final piece consisting of how developers can use our explorer's contract verification form to verify their contracts.
We expect to provide a more seamless contract verification process in the coming months once Polygon-Edge supports the traceTransaction JSON-RPC endpoint needed for instant contract pre-verification. Until that time comes, developers will need to complete the pre-verification process manually (see Part I below).
I. Prepare your Smart Contracts for verification
Follow the simple steps below to prepare your Smart Contracts for verification:
Once your contracts have been deployed (we suggest flattening first, see Part II for our reasoning why), please reach out to our dev team, providing them with any addresses that require verification.
Our team will then get back to you once we've pre-configured your addresses to be verifiable.
On BlockScout, you'll now see a new Code tab appear within the address pages of your contracts.
You can then proceed to verify these contracts yourself via 'Standard Input JSON' (see Part II below).
II. Verifying via Standard Input JSON
Proxy/upgradeable contract verification isn't currently available on our explorer however this functionality will be supported in the near future.
Please fill out all fields according to the official BlockScout docs here - note that the uploaded JSON file should only consist of the following 3 keys taken from the input key:
Within this section, we suggest you remove all entries that are unrelated to the contract you are verifying as any entries within this section will be included within the Code tab
It is highly recommended to first flatten your Smart Contract prior to deploying - this will make it easier to distinguish required imports from other .sol files within your repository.
For your convenience, we've included an example .json file which can be referenced below: