I'm working on instrumenting VM of GETH in order to index interesting data from the blockchain.
I did manage to intercept the call and see internal transactions, but I want to go a little deeper, and
1) understand what method is called on the smart contract
2) Call myself a method on the smart contract
I'm investigating on that line in evm.go
return interpreter.Run(contract, input, readOnly)
first of all I'm noticing that many many time input is just empty, shouldn't always contain the function to call on the SC?
Is there some facility inside GETH to understand what input is? Ie which method call it represents?
how can I add ( if I can ) add another call to interpreter.Run
to call another method on the contract? ( for instance balanceOf on an erc20 contract? )