I am relatively new to decentralised development, and apologies in advance if a bit of a dumb question.
I am doing a project where I am looking to download the following data. I am trying to figure out what is the best way to do it and a bit lost with available options.
- Current yield on ETH deposits
- Reward token mechanism for providing
- USDC/USDT pair liquidity
- Size of liquidity pool for USDC/USDT pair
- Historical daily closing price data for ETH
I am using Golang and looking to pool data from Uniswap, Curve, Balancer, and Aave to compare it.
Options I have considered are:
- TheGraph + Golang through JSON: all of these pools have a subgraph. Disadvantage is data is in different format for each pool and availability is different. For example I can pull size of liquidity pools from Uniswap, but not from Balancer
- Custom API: Uniswap has a full on Javascript API which is very good. Disadvantage is that Curve doesn't have a comparable API and this presents an integration issue using several different languages for pulling data
- Straight from the blockchain using Solidity: I've not really been able to figure out how to pull this data since some of it is not specific to an exact smart contract.
Would really appreciate any help, if you could point me in the right direction on where to look.
Thank you very much!
FilterLogs()
api RPC function ingo-ethereum/ethclient