polkadot-evm/frontier

Aiding EVM block explorer balance tracking

Opened this issue · 0 comments

Question
Currently, balance changes due to operations performed outside of the EVM (for instance, a transfer via the balances pallet) are not reflected in the corresponding ethereum block. This is understandable, but it means that if you point an EVM block explorer at a chain with frontier, the explorer's view of balances will most likely be incorrect (as a given block fetched via ethereum RPC would not have a transaction corresponding to the substrate operation, and so the explorer wouldn't expect any state change in a given account's balance).

We've thought of a few potential solutions:

  • Implement special handling on the block explorer's side
  • Somehow create "mirror" transactions on the ethereum side for balance changes that occur outside of the EVM (though it's not clear this is actually feasible)
  • Encouraging users to use only ethereum interfaces to interact with the chain (this helps mitigate the issue, but isn't a real solution)

Is there anything that can be done within frontier to make it easier for EVM block explorers to track balances? Or otherwise, any suggestions for alternative solutions?