We were sprint planning the MakerCDP bounty project, when the Gnosis guys came and derailed us with the DutchX bounty. Whilst they were trying to sell DutchX to Robert, the other four of us were discussing how we could go for TheGraph protocol bounty. From there we decided ENS was the only contract worth analysing for events so that was that.
Also... ENS is the most important smart contract on mainnet today and we also wanted to see who all those damn squatters are.
What it does
It scrapes all the event logs from the ENS contracts and displays them in a human readable format. One of the most important pieces of information that is impossible to get from just the contract state is all names owned by a particular address. ENSplorer scrapes this events an indexes them in a way that can be useful to other dapps and users.
How we built it
React and Apollo for the Frontend
_The_Graph Our own GraphQL backend
Python to scrape the data from the blockchain
Lots of peanuts, because there was nothing else to eat
Challenges we ran into
Our initially selected backend provider could not give us a working solution in time, so we were late to starting work on our own backend. We also only found out at 3am on Saturday that we could have obtained all the data we needed from Google BigQuery - if we'd known earlier we could have added more jazz to our data.
Accomplishments that we're proud of
A working prototype that's publicly accessible at https://ensplorer.surge.sh, with our GraphQL API available at https://ens-index-dot-ensplorer.appspot.com. Full CI setup with automated deployments so we can easily keep it up-to-date.
Awesome team dynamics with a good partitioning of skills, we were laughing and smiling all the way to the very bitter end.
What we learned
Have a full Ethereum node synced before you start to hack. Reading in logs and querying contracts en masse is fastest against your local disk compared to hosted nodes like Infura.
Need more food, drink and massages for the team to keep things going smoothly.
What's next for ENSplorer
Going back to our day jobs and convincing ourselves that we're going to keep maintaining this. Me so sad :'(