I deployed a contract one year ago, it works well and now I want to verify it to public code to the client, but the problem is: I can't remember what I set in the optimizer setting before. I tried several common settings which I usually use, but all of them not work:

  • enable: true, runs: 200
  • enable: true, runs: 200, yul: true
  • enable: true, runs: 500
  • enable: true, runs: 500, yul: true
  • enable: true, runs: 200, yul: true, yulDetails: {stackAllocation: true, optimizerSteps: "dhfoDgvulfnTUtnIf"}
  • ...

I can ensure the source code does not change, because I have only one version. How can I verify it?

1 Answer 1


The difficulty with verification is that it either works or it doesn't - there's nothing in-between. And you get no feedback about what went wrong.

So the problem may be in your optimizer settings. But it may also be elsewhere - maybe the code accidentally changed? Or maybe you updated some dependencies? Maybe different Solidity version?

The 200 runs for optimizer is the default in most tools, I believe.

Unfortunately, I don't have a clear answer to give. You just have to try different options what could've changed.

  • Thank you, may I must try more
    – CT95
    Commented Jun 18 at 1:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.