Contract Deployment – Is it Possible to Reverse Engineer and Know ABI by Contract Address?

abicontract-deployment

Let me be clear on this, here i want reverse functionality. I have the contract address generated and i am able to access it in the mined block. However i want to know what is the data in ABI json once again. Please let me know if its possible. Else minimum requirement for getting JSON file(without using contract code).

Thanks in advance for your help.

Best Answer

No there is not.

Work is ongoing on EthPM which would document where commonly used libraries/packages are already deployed on the blockchain. You could thus work backwards from an address to the sourcecode using this directory.

That said not all contracts will be listed and as such this is not a catch all.

Some contracts are 'verified' on sites like Etherscan and EthTools. This means that the creator of the contract has submitted the source code (to these sites) and verified that it compiles to the same bytecode as is stored on the chain.

The simple answer however is no. You can not work backwards from bytecode to sourcecode. More details on why can be found in this answer by chriseth (who created Solidity).