Boost your open source dApp development with a Substreams-powered NFT Hub.
Mathieu, a back-end developer at Pinax, will show you how Substreams can fetch and stream blockchain data at high speed, ensuring that your application is always synced. Take a tour of the NFT Hub, an application that lets you interact with your NFTs directly without third-party APIs.
Introduction to Substreams
Substreams are a powerful tool that can quickly and efficiently extract specific data from a blockchain. They are parallelizable, which means multiple blocks can be processed at the same time.
Substreams allow real-time data streaming, so your applications will always remain synchronized with the blockchains at any time.
The Problem: Finding NFTs on the blockchain
Imagine you are creating a dApp on the Ethereum blockchain that will show all the NFTs of a specific user, like a wallet. How would you find this data?
Because NFTs are stored in various smart contracts, they can be anywhere, at any time on the blockchain. So it’s very challenging to locate all existing NFTs as there’s no official list on-chain.
To find them all you would have to loop through all the blocks, which would be time-consuming and impractical.
The Solution: Substreams and the NFT Hub
Instead, Mathieu created the NFT Hub to demonstrate how Substreams can be used to manage NFTs without manual work or relying on third-party APIs like OpenSea.
Substreams can extract data from newly created blocks and store it in a database with GraphQL capabilities. Applications interact with this GraphQL database, simplifying the process for developers.
The NFT Hub acts like a wallet, allowing users to send and receive Ethereum and interact with their NFTs. It fetches and displays all the NFTs owned by a user. The application synchronizes with the blockchain, showing NFT ownership changes instantly.
Getting Started with Substreams
Be sure to watch the video above for more helpful details, and to try it out for yourself, visit the NFT Hub GitHub repo: https://github.com/pinax-network/NFTHub.