Verify contract deployed with Remix

Hi @woody567890,

Verification is a pain point for the ecosystem. Hopefully it won't be too long until there are easy options when deploying to a public network to also verify at the same time.

With flattening when using third party libraries, as long as licenses are maintained, ideally with references to the original source, then it is ok. Etherscan's outline functionality does make it much easier than it used to be to find sections of a contract. Up until recently I was verifying using flattened files.

My preference now is multi-file verification. It makes it much easier for me to tell if someone has extended from OpenZeppelin Contracts or if they have copy pasted and modified, which is much more complex to identify what has been changed.

The following is an example of a multi-file verification:
https://rinkeby.etherscan.io/address/0x0bB0e851Da4f0149C7c3f77ac3492C824F1f4dD0#code

Flattening may not remove SPDX License Identifiers (unless you tell the flattener to) but the flattened file won't compile if there are multiple license identifiers in the contract file.
(From: Solidity 0.6.8 introduces SPDX license identifiers)


It may be worth creating an Issue for the flattener you used to get this resolved.

Glad that you were able to verify.

Thanks for the discussion too. :pray: