[Ethereum] How to call a function in deployed contract on Ropsten Testnet when I don’t have ABI and source code

ropstenweb3.py

For some testing I deployed several contracts on Ropsten Testnet using web3.py but now if I want to execute them or call any function from them, how can I do this? I don't have ABI as I did several contracts and its practically impossible for me to verify every single contract. I have only Transaction hash and the contract address.

Please help

Best Answer

There is (almost) no way to get the ABI if you only have the transaction hash and/or contract address.

I said almost because it is possible to reverse-engineer the contract. At least in theory. Reverse-engineering is always a difficult process and it might not work. There are some tools which attempt to do it for you but I don't really know how accurate they are.

Some more info on reverse-engineering: Is there a way to extract ABI from a deployed contract?

Just to clarify some confusion in an another answer's comments: verifying your code on Etherscan isn't really a Ethereum term. It's only functionality which was (possibly) invented by Etherscan team. It's a handy feature but it's not necessary in any way. You can publish your code in the blockchain without providing the source code to anyone.