Let us consider the following setup. Alice executes a method doStuff(...)
of a particular smart contract deployed to an EVM blockchain under address 0x0123456789
. Execution of that method resulted with a transaction under ID 0xABCDF
. Alice wants to prove to Bob having executed doStuff(...)
.
My questions are the following:
- What is the most canonical way to prove having executed a method of a smart contract?
- I assume they both have to be in possession of ABI and compiled contract. What other information does Alice has to provide to Bob?
- How does Bob verify this fact? I'm interested in both abstract/theoretical description and practical (using
web3.js
,web3.py
etc).
Many thanks in advance for your comments!