All Projects → Joystream → hydra

Joystream / hydra

Licence: other
A Substrate query node framework

Programming Languages

typescript
32286 projects
shell
77523 projects
Dockerfile
14818 projects
Handlebars
879 projects
javascript
184084 projects - #8 most used programming language
ruby
36898 projects - #4 most used programming language

Labels

Projects that are alternatives of or similar to hydra

stafi-node
StaFi Node Implementation
Stars: ✭ 39 (-9.3%)
Mutual labels:  substrate
subspace
Subspace Network reference implementation
Stars: ✭ 164 (+281.4%)
Mutual labels:  substrate
nimbus
Upgradeable consensus framework for Substrate blockchains and parachains
Stars: ✭ 31 (-27.91%)
Mutual labels:  substrate
sunshine
Governance + Bounty Platform
Stars: ✭ 44 (+2.33%)
Mutual labels:  substrate
subsocial-node
NOTE: Development continues in https://github.com/dappforce/subsocial-parachain repo. Subsocial full node with Substrate/Polkadot pallets for decentralized communities: blogs, posts, comments, likes, reputation.
Stars: ✭ 73 (+69.77%)
Mutual labels:  substrate
substrate-tcr-ui
A react.js frontend for Substrate TCR runtime.
Stars: ✭ 14 (-67.44%)
Mutual labels:  substrate
substrate-contracts-node
Minimal Substrate node configured for smart contracts via pallet-contracts.
Stars: ✭ 70 (+62.79%)
Mutual labels:  substrate
polkadot-apps
Fork of Polkadot.js Apps with Subsocial types.
Stars: ✭ 17 (-60.47%)
Mutual labels:  substrate
standard-substrate
substrate implementation of Standard protocol
Stars: ✭ 15 (-65.12%)
Mutual labels:  substrate
Starlog
Starlog: Metadata Blockchain based on Substrate
Stars: ✭ 32 (-25.58%)
Mutual labels:  substrate
scale.rb
Ruby SCALE Codec Library & Substrate Client
Stars: ✭ 17 (-60.47%)
Mutual labels:  substrate
substrate-graph
a compact graph indexer stack for parity substrate, polkadot, kusama
Stars: ✭ 28 (-34.88%)
Mutual labels:  substrate
cap9
Capability-based security protocol for smart contracts
Stars: ✭ 22 (-48.84%)
Mutual labels:  substrate
guardian
Web3 Guardian - a blockchain monitoring and alerting tool
Stars: ✭ 34 (-20.93%)
Mutual labels:  substrate
common
Utilities and base libraries for use across polkadot-js for Polkadot and Substrate. Includes base libraries, crypto helpers and cross-environment helpers. Full documentation & examples available.
Stars: ✭ 221 (+413.95%)
Mutual labels:  substrate
digital-assets-association-poland
🐋 🐋 https://meetup.com/Silesia-Blockchain-Meetup 🐋 🐋
Stars: ✭ 14 (-67.44%)
Mutual labels:  substrate
felix-atomos
Apache Felix Atomos
Stars: ✭ 32 (-25.58%)
Mutual labels:  substrate
polkawallet-flutter
Replace to: https://github.com/polkawallet-io/app
Stars: ✭ 107 (+148.84%)
Mutual labels:  substrate
Polkadex
An Orderbook-based Decentralized Exchange using the Substrate Blockchain Framework.
Stars: ✭ 223 (+418.6%)
Mutual labels:  substrate
bellman-substrate
A library for supporting zk-SNARKs to Substrate
Stars: ✭ 26 (-39.53%)
Mutual labels:  substrate

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.

Architecture one-liner

A Hydra query node ingests substrate events in a multi-step pipeline:

Substrate Chain => Hydra Indexer => Indexer GraphQL gateway => Hydra Processor => Database => Query Node GraphQL endpoint

For popular chains, one can use an already in-sync publicly available Indexer endpoint. For other chains, a self-hosted indexer should be set up.

Hydra CLI quickstart

Run

$ npx @joystream/hydra-cli@next scaffold

and answer the prompts. It will generate a sample project and README with setup instructions.

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
  • Hydra Typegen: A tool for generating typesafe typescript classes for events and extrinsics from the runtime metadata. No more manual deserialization of the event data.
  • 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!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].