Indexing Frameworks
Background
Smart contract indexers are off-chain calculators that compute additional metrics specific to one smart contract. Calculators can be thought of as extensions to a smart contract that do additional off-chain computation and maintain additional off-chain state.
Simple example: the UniswapV2Pair contract maintains minimal state for the pool and emits Mint
, Burn
, and Swap
events. If we wanted to know the cumulative number and volume of swaps on the pair, we could write and deploy a custom indexer instead of adding additional state variables and computation to the contract.
Smart contract indexers typically produce object schemas using the GraphQL schema language.
Smart contract indexing services usually provide a hosted service so that users can deploy their indexers without having to run their own infrastructure.
Provider Summary
The following providers support Monad Testnet:
Provider | Docs | Language | Framework | Known for | Hosted service | Decen- tralized hosted service | Onchain & offchain data | Web- socket subscr- iptions | Query layer |
---|---|---|---|---|---|---|---|---|---|
DipDup | Docs | Python | dipdup | Python development | ❌ | ❌ | ✅ | ✅ | GraphQL |
Envio | Docs | JavaScript, TypeScript, Rescript | HyperIndex | Performance and scale | ✅ | ❌ | ✅ | ✅ | GraphQL |
Ghost | Docs | Solidity | GhostGraph | Solidity development | ✅ | ❌ | ❌ | ❌ | GraphQL |
Goldsky | Docs | Assembly- Script | subgraph | ✅ | ❌ | ❌ | ❌ | Custom GraphQL | |
Sentio | Docs | JavaScript, TypeScript | sentio-sdk | Performance; integrated alerting and visualization | ✅ | ❌ | ✅ | ❌ | GraphQL & SQL |
SQD | Docs | JavaScript, TypeScript | squid-sdk | ✅ | ✅ | ✅ | ✅ | GraphQL | |
SubQuery | Docs | TypeScript | subql | Decentral- ization | ✅ | ✅ | ✅ | ❌ | GraphQL |
The Graph | Docs | Assembly- Script | subgraph | The original indexer | ✅ | ✅ | ❌ | ❌ | Custom GraphQL |
Provider Details
DipDup
DipDup is a Python framework for building smart contract indexers.
To get started, visit the documentation.
Supported Networks
- Monad Testnet
Envio
Envio is a full-featured data indexing solution that provides application developers with a seamless and efficient way to index and aggregate real-time and historical blockchain data for Monad Testnet. The indexed data is easily accessible through custom GraphQL queries, providing developers with the flexibility and power to retrieve specific information.
Envio HyperSync is an indexed layer of the Monad Testnet blockchain for the hyper-speed syncing of historical data (JSON-RPC bypass). What would usually take hours to sync ~100,000 events can now be done in the order of less than a minute.
Designed to optimize the user experience, Envio offers automatic code generation, flexible language support, multi-chain data aggregation, and a reliable, cost-effective hosted service.
To get started, visit the documentation or follow the quickstart guide.
Supported Networks
- Monad Testnet
Ghost
With GhostGraph, you can write your indexers in the same language as your contracts: Solidity. This means less context switching and faster time to market.
To get started, visit the documentation or check out the tutorial.
Services supported:
- GhostGraph
Supported Networks
- Monad Testnet
Goldsky
Goldsky is the go-to data indexer for web3 builders, offering high-performance subgraph hosting and realtime data replication pipelines.
Goldsky offers two core self-serve products that can be used independently or in conjunction to power your data stack.
- Subgraphs: Flexible indexing with typescript, with support for webhooks and more.
- Mirror: Get live blockchain data in your database or message queues with a single yaml config.
To get started, visit the documentation or follow the quickstart guide.
Supported Networks
- Monad Testnet
Sentio
Sentio offers blazing-fast native processors and seamless subgraph hosting on Monad. With powerful database capabilities, intuitive dashboards, and comprehensive API functionalities, Sentio is built to provide an exceptional developer experience.
To get started, check out the docs or visit the quickstart guide.
Supported Networks
- Monad Testnet
SQD
SQD enables permissionless, cost-efficient access to petabytes of high-value Web3 data.
SQD is a decentralized hyper-scalable data platform optimized for providing efficient, permissionless access to large volumes of data. It currently serves historical on-chain data, including event logs, transaction receipts, traces, and per-transaction state diffs.
To get started, visit the documentation or see this quickstart with examples on how to easily create subgraphs via Subsquid.
Supported Networks
- Monad Testnet
SubQuery
SubQuery is a leading blockchain data indexer that provides developers with fast, flexible, universal, open source and decentralised APIs for web3 projects. SubQuery SDK allows developers to get rich indexed data and build intuitive and immersive decentralised applications in a faster and more efficient way. SubQuery supports many ecosystems including Monad, Ethereum, Cosmos, Near, Polygon, Polkadot, Algorand, and more.
One of SubQuery's advantages is the ability to aggregate data not only within a chain but across multiple blockchains all within a single project. This allows the creation of feature-rich dashboard analytics and multi-chain block scanners.
Useful resources:
For technical questions and support reach out to us start@subquery.network
Supported Networks
- Monad Testnet
The Graph
The Graph is an indexing protocol that provides an easy way to query blockchain data through APIs known as subgraphs.
With The Graph, you can benefit from:
- Decentralized Indexing: Enables indexing blockchain data through multiple indexers, thus eliminating any single point of failure
- GraphQL Queries: Provides a powerful GraphQL interface for querying indexed data, making data retrieval super simple.
- Customization: Define your own logic for transforming & storing blockchain data. Reuse subgraphs published by other developers on The Graph Network.
Follow this quick-start guide to create, deploy, and query a subgraph within 5 minutes.
Supported Networks
- Monad Testnet