The Graph Code Review: dApps Need Queries
Ok, I’m going to tell you right up-front this is some sexy code, but nobody’s perfect so when I go through this, bear in mind I’m looking for things to go wrong. Not being cynical, not as much as usual anyway, I just think the Graph code review here needs some realism as well as all the excitement.
So it’s very cool, they see a need, that puts them ahead of half the projects out there. Distributed Query Processing, dApps run “no matter what”, getting away from data silos and putting developers back to work on creating and managing the dApps instead of server infrastructure. I like this.
Their claim – “The Graph is a protocol for building decentralized applications quickly on Ethereum and IPFS using GraphQL.”
“On The Graph, queries are processed on a decentralized network that ensures that data remains open and that dApps continue to run no matter what. Users don’t have to trust teams to operate servers and developers can deploy to trustworthy public infrastructure they don’t have to manage.”
This is cool, GraphQL for blockchain. Consensys has a similar one they call ethql, also very cool https://github.com/ConsenSys/ethql
A lot going on, should be good.
This is one of those, “this is just good” projects.
Lots of friendly use case optimizations (thinking a lot about the developers)
So much code for usability. These guys have written a lot of code, so that we don’t have to.
Let’s look at the decentralized node. (Wouldn’t it be easier to just add this as an addon to Ethereum? Although then you couldn’t support multiple chains, for interoperable GraphQL… I guess this is required)
Postgres (my favourite)
Again, this is just good. Great comments, structure, design, lots of hard work.
Caching data locally on the node for faster lookups (bit of a etherscan.io mixed in)
I could go on, but this is really just good.
The Graph Code Review Conclusion:
Great code, great idea, adds real value, has a real decentralized use case. Pity it needs a token (will hurt adoption), but its solid.
I’ll be looking forward to using this. Will be my new decentralized etherscan API.
You can chat about The Graph in our Telegram group.
Disclaimer: Crypto Briefing code reviews are performed by auditing what is on display in the master branch of the repo’s made available. This was performed as an educational review and any comments in the article are the opinion of the writer. It is normal for code to change rapidly, hence we timestamp our code reviews so that they present a snapshot at a moment in time. Information contained herein should not be used as any comment or advice on the project as a whole.
The Graph Code Review Timestamp: August 4th 2018