Best Substreams at ETHGlobal Istanbul — Nazar
Hackathons are a great way for companies to discover cool and interesting projects, and a perfect way for hackers to explore new technologies.
Last week, The Graph participated as a partner at ETHGlobal Istanbul, a hackathon that gathered 2000 attendees from 90 countries in the historical city of Istanbul to explore new ways to use blockchain technology.
Among the prizes sponsored by The Graph, there was a $2,000 prize for best creation or usage of an existing Substreams! From StreamingFast, we would like to thank you all for building on Substreams, coming to us with questions, and providing us with feedback. This will definitely help us in our goal to make Substreams even better!
The Winning Project
Among the projects applying for the Substreams-specific prize, Nazar was the winner. Nazar is an Account Abstraction transaction explorer, currently supporting ERC-4337 and Safe Account Abstractions.
Since Account Abstractions is a pretty new (and complex) concept, the goal of the Nazar project is to provide an easy-to-use explorer tool to inspect Account Abstractions.
At the same time, the explorer uses the WalletConnect technology to allow you to subscribe to on-chain notifications about similar transactions happening.
About Account Abstractions
Although the Ethereum standard for Account Abstractions was introduced a couple of years ago, the adoption is still low for many use cases.
By design, Ethereum has two kinds of accounts: externally-owned accounts (EOAs) and contract accounts (smart contracts). The main limitation of this model is that any smart contract transaction has to be initiated by an EOA.
The Account Abstraction model allows the creation of smart accounts, which are accounts not needing manual intervention from an EOA to execute transactions. Instead, they are controlled by a smart contract to perform transactions on behalf of a user.
The Tech
In order to build the amazing explorer, the team behind Nazar used Substreams to filter ERC-4337 and Safe transactions. Then, they used the PostgreSQL sink to send the data to their database.
In order to filter the corresponding transactions, they used the powerful decoding capabilities of Susbtreams, being able to match function signatures directly with the ABI.
Sending the extracted data to a SQL database is also as easy as creating a “db_out” module in your Substreams and running the SQL sink service.
Lastly, they displayed the extracted data using a NextJS application.
Next Steps
The Graph will continue being present at hackathons, so we would love to see more Substreams projects in the future!
The next hackathon, ETHIndia, is happening in Bangalore in 2 weeks. If you are attending, we would love to support you with your Substreams project!