Ongoing guide. If you have suggestions/comments, or want to write about it leave a note below.
Why we need it?
Let's say you want to build an app and you want to fetch data from the blockchain, how do you read/write it? Let's talk about that.
You can access blockchain data like the way you access normal data in any MVC where you fetch data from database ,manipulate it in backend and display the result in front end. In case of blockchain,what all you need to understand is it is nothing but a decentralized database where transactions occur dynamically and the data is distributed among all the nodes.
So to explain how the data is actually fetched from blockchain, what I do is Crawl each block in the blockchain and store the data in your preferred data base like MySql or Mongo.
There are many tools such as Etherscan, and others but they are centralized and that goes against what crypto tries to solve so we'll focused on Decentralized solutions.
Use 1 API to access all Blockchains, not only 1, that is also decentralized.
If you want to query the balance use a json-rpc req through an ETH full node.
You can do that on any blockchain through whatever nodes or requests they support. You just need access to a full node.
For notifications on balance changes you just use websockets instead
Resources for the research: