Welcome to Substreams documentation
Substreams is a powerful blockchain indexing technology, developed for The Graph Network.
Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion.
Substreams have all the benefits of StreamingFast Firehose, like low-cost caching and archiving of blockchain data, high throughput processing, and cursor-based reorgs handling.
Where to start
Learn about Substreams in a short, dense 25-minute intro and understand its impact on the blockchain ecosystem.
A walkthrough of Firehose features, Substreams modules, including a sample Rust module and StreamingFast's vision.
Learn essential facts about Substreams through reading the Benefits and comparison.
The primary ways to use Substreams include:
After installing Substreams and reviewing the Quickstart:
- You can learn more about modules, and then study the Developer's guide.
Find pre-built Substreams by using the following resources:
- The Substreams Template helps expedite the process of getting you up and running.
- A list of maintained Substreams examples
Network model diagram
You can view Substreams from two perspectives as illustrated in the high-level visual diagram. It can be viewed through the perspective of the Substreams engine itself and also the perspective of the end-user developer and consumer.
Substreams is an open source community effort, so feel free to suggest new topics, report issues, and provide feedback. Contribute through GitHub pull requests.
For additional information, refer to the general StreamingFast contribution guide.
Substreams uses the Apache 2.0 license.
The content in the Substreams documentation was created through StreamingFast's full effort. It is up to the reader to validate the accuracy of all content presented. Substreams is in active development and, at times, the associated documentation becomes outdated. Contact StreamingFast to report problems or service interruptions.
Note: The Substreams documentation uses the Google developer documentation style guide for its style and formatting.