I'm connected to an Ethereum node (running Geth) I manage and I'm able to connect to it using RPC. I can access web3 in the terminal after issuing `geth console`. I can access and run the RPC function calls as listed in the documentation [here][1]. I have to switch between different libraries like webpy and web3.js so an implementation in either should be fine.

Given a transaction hash, I can fetch the transaction details, say using `web3.eth.getTransaction(transaction_hash)`. But all the details I get only includes: hash, input, nonce, from, to, transaction_index, value, v, r, s. 

What I'm curious about is how does [this website][2] access rest of the rich details as to how many tokens were transferred. More specifically, **how can we read (given the sender and contract address involved in a transactions) the value of tokens transferred i.e. *the value parameter of the function call*?**

A snapshot of such details from the above website. (**How does one figure out the Token Transfer**, shown in the picture below)

[![enter image description here][3]][3]

Is it from the input field? If so, how does one interpret the hex to actuall values and the function called?


  [1]: https://github.com/ethereum/wiki/wiki/JSON-RPC
  [2]: https://etherscan.io/tx/0x92d8ac6da5eac42a2e7fb701fe16ffe46658bafdb47b100963d5d97ce5a09dbe
  [3]: https://i.sstatic.net/shCFD.png