Hydra

A query node builder for Substrate chains

A Substrate query node framework. Inspired by TheGraph, it gives a smooth way to provide powerful GraphQL queries to app developers over your Substrate blockchain state and history.

What's Hydra?

Hydra is a query node for Substrate-based blockchains. A query node ingests data from a substrate chain and provides rich, domain-specific, and highly customizable access to the blockchain data, far beyond the scope of direct RPC calls. For example, expired Kusama Treasury spending proposals are pruned from the state of the Kusama blockchain, so querying, say, one-year-old proposals is problematic. Indeed, one has to track the evolution of the state by sequentially applying the Treasury events and extrinsics in each historical block.

That's where Hydra gets you covered. Define your data model and the Hydra indexer will get it in sync with the chain. On top of that, you get a batteries-included GraphQL server with comprehensive filtering, pagination, and even full-text search capabilities.

Monorepo structure

The monorepo contains the following sub-packages:

  • Hydra CLI: Codegen tools to set up and run a Hydra pipeline

  • Hydra Indexer: Hydra indexer for ingesting raw events and extrinsics

  • Hydra Indexer Gateway: GraphQL interface for the Indexer

  • Hydra Processor: Processing part of the pipeline for transforming events into rich business-level objects

  • Sample Project: A quickstart Hydra project set up against a publicly available Kusama indexer. Good starting point.

  • Docs: In-depth documentation covering the Hydra pipeline and API features, such as full-text search, pagination, extensive filtering and a rich GraphQL dialect defining your schema!