Collecting Transfer Events
The process begins by collecting every transaction record in every block from the time of issuance.
For example: suppose there is a token called ALPHA, with holders that have the addresses 0xA, 0xB, and 0xC. At block height 10000, address 0xA transfers 3000 ALPHA tokens to address 0xB, and at block height 10001, address 0xA transfers 5000 ALPHA tokens to address 0xB. These transaction records would be stored in our database as shown below:
Token_Address | Block_Height | From | To | Value |
---|---|---|---|---|
ALPHA_token_address | 10,000 | 0xA | 0xB | 3,000 |
ALPHA_token_address | 10,001 | 0xB | 0xC | 5,000 |
Other Tokens | 10,002 | ....... | ...... | ..... |
Other Tokens | 10,003 | ........ | ..... | ..... |