RequestNetwork / requestNetwork

A JavaScript library for interacting with the Request Network protocol
https://docs.request.network/
MIT License
383 stars 76 forks source link

As a Builder, I want to use alternative indexer for indexing events because I don't want to use The Graph. #1164

Open MantisClone opened 1 year ago

MantisClone commented 1 year ago

Problem

Today only indexing with TheGraph is implemented. But some builders may prefer an alternative indexer implementation.

Solution

Implement indexing using an alternative indexer without dropping support for TheGraph subgraphs. Implementation should adhere to the IIndexer interface to be compatible.

Ideas

  1. ponder.sh Ponder is an open-source framework for blockchain application backends. With Ponder, you can build a GraphQL API for any set of smart contracts on Ethereum-based blockchains with hot reloading, type safety, and easy deployment to production.
  2. TrueBlocks Core or TrueBlocks Key
    • Local First - The index may be created and cached on your local machine
    • Multi Chain - Supports any EVM-based chain
    • Lightweight - Bloom filters massively reduce the size of data on disk
  3. Subsquid Subsquid is a global network that provides free, fast and decentralized data access, without rate limits. Designed for billion-user dApps.
  4. HyperIndex (Envio) Envio (now referred to as HyperIndex) is a real-time indexer built specifically for EVM-compatible blockchains, providing developers with a seamless and efficient indexing solution.
  5. Shovel Shovel is an open source tool for synchronizing Ethereum data to your Postgres database. Own your blockchain data without vendor lock-in.
  6. SubQuery
MantisClone commented 1 year ago

Implementation depends on #1117

MantisClone commented 9 months ago

Here's an interesting comparison between HyperIndex, TheGraph, ponder.sh and Subsquid: https://docs.envio.dev/blog/indexer-benchmarking-results