What is rindexer ?
rindexer is an opensource powerful, high-speed indexing toolset developed in Rust, designed for compatibility with any EVM chain. This tool allows you to index chain events using a simple YAML file, requiring no additional coding. For more advanced needs, the rindexer provides foundations and advanced capabilities to build whatever you want. It's highly extendable, enabling you to construct indexing pipelines with ease and focus exclusively on the logic. rindexer out the box also gives you a GraphQL API to query the data you have indexed instantly.
What can I use rindexer for?
- Hackathons: spin up a quick indexer to index events for your dApp with an API without any code needed
- Data reporting
- Building advanced indexers
- Building a custom indexer for your project
- Fast prototyping and MVP developments
- Quick proof-of-concept projects
- Enterprise standard indexing solutions for projects
- Much more...
What networks do you support?
rindexer supports any EVM chain out of the box. If you have a custom chain, you can easily add support for it by adding the chain's RPC URL to the YAML configuration file and defining the chain ID. No code changes are required.
Future vision for rindexer
rindexer is a framework which abstracts away the complexity of indexing and allows you to focus on building your application logic, it has building database, indexes, exposing GraphQL APIs and many more cool features baked into it. rindexer is more then just getting the data from the chain that is only a small part of the vision. If we can build a framework which then has many features which can be sliced and diced to fit your needs, then rindexer is just a tool to help you build any application you want.
rindexer currently supports indexing via JSONRPC
calling eth_getLogs
but it sees a vision of reading directly from a EVM
node which a R&D project has already proved works well.
This will allow you to index data directly from a node if you are running it or via JSONRPC
if you prefer that approach.
rindexer wants to be a framework which powers many ways of indexing and not just one way.
rindexer also wants to not be opinionated about where the data is stored and wants to be able to support many different databases and storage solutions. It currently supports Postgres but can be extended to support others.