I am coding a DeFi data aggregator and need to have access to the entire history of state changes, i.e., for each pool in Uniswap, I need to know the state of the contract after each transaction.
I guess one way to do this would be to fresh start Geth and let it replay all transactions while listening for event on each contract of interest. I hope this is not the only way as it would take a long time and, most importantly, it would be hard to extend it in the future if I need to gather data from different DeFi exchanges.
Any ideas would be great!