Everyone is excited about the idea of flash loans, but it's not yet clear what people are actually doing with them. The idea was to create a dashboard that lets the community explore the high level trends, as well as drill down into individual flash loan transactions in a nicer interface than etherscan. Specifically, the goals were:
- make it easy to see high level stats about activity - which tokens/protocols are being used, etc
- be able to filter flash loans to find specific kinds of activity
- make it easier to dig into a specific flash loan transaction to better understand what happened
- try to determine the overall net effect of each transaction
- create a leaderboard based on overall activity and ideally "profit"
- provide a better interface than etherscan with more info specific to flash loans
What it does
The backend scrapes the blockchain for flash loans (currently AAVE only) and pulls in all the transaction data, logs, related contracts etc. The front-end lets users browse through all of the flash loans that have happened, digging into the specific token transfers that are involved.
How I built it
The strategy was to scrape as much data as possible and put it into a postgres db for easier exploration and aggregation. I scraped past transactions and logs from the chain, grabbed ABIs, token info, and address labels from etherscan (as much as possible).
Challenges I ran into
- Understanding the net effect of some flash loan transactions is really not straightforward
- ABIs are not always available
- No easy way to get labels for addresses (etherscan's incomplete data is not accessible on their API)
- I was hoping to get deeper into the trends and analysis, but just creating the base level functionality (gathering data, explorer UI) took a long time
- No easy/free solution for historical pricing data
Accomplishments that I'm proud of
- built this all myself!
What I learned
- a bit about how flash loans work - tricky!
- how receipts / logs work and how all the data links together
- building even a semi-complete tool to dig into transactions is a ton of work
What's next for FlashDash
- set up real-time watcher on the backend and pipe new transactions through to the front-end
- pull in historical pricing data
- high level graphs about flash loan activity
- more analysis tools to dig into each transaction