- To verify Contracts that accept Constructor arguments, please enter the ABI-encoded Arguments in the last box below.
Please note the Note above from when you verify and publish your contract. I believe there is no need to provide the ABI if your constructor does not have arguments upon creation of the contract.
If you are using remix just go to the Compile tab then click Details. You should find the ABI there, however it is JSON format so you need to convert it because it should be hex encoded. This shows you how.
https://etherscancom.freshdesk.com/support/solutions/articles/35000022165-contract-verification-constructor-arguments
Or you can try and use this converter https://abi.sonnguyen.ws/ (I used this one)
If you are using Truffle you can try this using solc
solcjs --abi path/to/your/contract.sol
Note:
Make sure that the contract name is correct and the compiler is the same compiler used upon deployment.
If you have multiple contract make sure that the contract name is the name of your main contract upon deployment.
PS:
This is for a single file contract or contracts only. I am not sure if you will be able to verify and publish multiple contracts from different files only related to eachother through importing them. (Encountered this problem before so I just opt to put them in one file instead of importing. If you find the solution for this please feel free to suggest.)