[Ethereum] ERC20 Token Transaction

erc-20go-ethereumjson-rpctokens

How does etherscan know that a particular transaction is an ERC20 token transfer?
If you look here: https://rinkeby.etherscan.io/tx/0xa8e4aa4f533e03bd8298f393d50d4ca41dba3368493c481e386d11389008353d etherscan knows that account A is transfering account B 200 tokens. IM quite familiar with quering ethereum using JSON RPC, so IM wondering if that info is there somewhere.

Thanks

Best Answer

It knows because:

  1. The contracts implement the standard ERC20 interface
  2. The address is calling the transfer(address to, uint amount) function on the ERC20 contract
  3. The contract logs the standard ERC20 event Transfer(address to, uint amount)