Compilation back to the original source code from just the bytecode is impossible because all variable names, type names and even function names are removed. (source)

It's possible to call functions on a contract by using a bytes4 hash of that functions name, so that means that the contract stores that hash of the name.

If a de-compiler had access to the ABI, could it reverse a contract, or parts of a contract, to Solidity?

1 Answer 1


The ABI gives you a list of all members functions and events in the contract (parameter types, parameter names, return types, etc.).

You can revert these members, but this is useless, as you already have all their details in the ABI.

You won't be able to revert the implementation of these members, however.


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.