All Projects → playzero → substrate-graph

playzero / substrate-graph

Licence: GPL-3.0 license
a compact graph indexer stack for parity substrate, polkadot, kusama

Programming Languages

elixir
2628 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Mustache
554 projects
SCSS
7915 projects

Projects that are alternatives of or similar to substrate-graph

reef-chain
EVM compatible chain with NPoS/PoC consensus
Stars: ✭ 142 (+407.14%)
Mutual labels:  substrate, polkadot
polkadot-deployer
Tool for deploying polkadot networks
Stars: ✭ 99 (+253.57%)
Mutual labels:  helm, polkadot
py-substrate-interface
Python Substrate Interface
Stars: ✭ 125 (+346.43%)
Mutual labels:  substrate, polkadot
ts
Misc. TypeScript definitions that are not yet available on DefinitelyTyped but required by other projects in this repo. Should be merged with upstream projects or the DT project.
Stars: ✭ 13 (-53.57%)
Mutual labels:  substrate, polkadot
polkascan-os
Polkascan Open Source
Stars: ✭ 52 (+85.71%)
Mutual labels:  substrate, polkadot
polkascan-pre-harvester
Polkascan PRE Harvester
Stars: ✭ 23 (-17.86%)
Mutual labels:  substrate, polkadot
Substrate
Substrate: The platform for blockchain innovators
Stars: ✭ 6,275 (+22310.71%)
Mutual labels:  substrate, polkadot
Astar
The dApp hub for blockchains of the future
Stars: ✭ 533 (+1803.57%)
Mutual labels:  substrate, polkadot
subwasm
Subwasm is a cli utility to help you know more about WASM Runtimes. It help downloading, inspecting and comparing Substrate based chains such as Polkadot or Kusama.
Stars: ✭ 53 (+89.29%)
Mutual labels:  substrate, polkadot
mangata-node
Mangata ❤️ Substrate & Polkadot
Stars: ✭ 52 (+85.71%)
Mutual labels:  substrate, polkadot
subsocial-offchain
Off-chain storage for Subsocial blockchain. This app builds user feeds and notifications by subscribing to Substrate events.
Stars: ✭ 24 (-14.29%)
Mutual labels:  substrate, polkadot
substrate-debug-kit
A collection of debug tools, scripts and libraries on top of substrate.
Stars: ✭ 96 (+242.86%)
Mutual labels:  substrate, polkadot
trustbase
Smart Contract parachain interoperate with Polkadot and Ethereum
Stars: ✭ 22 (-21.43%)
Mutual labels:  substrate, polkadot
tools
Various cli tools for Polkadot and Substrate chains, including basic node monitoring, making API queries via a cli app and other command-line tools
Stars: ✭ 173 (+517.86%)
Mutual labels:  substrate, polkadot
datdot-node-rust
datdot blockchain node in rust
Stars: ✭ 43 (+53.57%)
Mutual labels:  substrate, polkadot
interbtc
interBTC: Trustless Bitcoin on Polkadot | kBTC: Trustless Bitcoin on Kusama
Stars: ✭ 136 (+385.71%)
Mutual labels:  substrate, polkadot
bittensor
Internet-scale Neural Networks
Stars: ✭ 97 (+246.43%)
Mutual labels:  substrate, polkadot
crunch
Crunch is a command-line interface (CLI) and Matrix Bot to claim staking rewards every Era for Substrate-based chains
Stars: ✭ 34 (+21.43%)
Mutual labels:  substrate, polkadot
polkadot-wiki-old
The Polkadot wiki.
Stars: ✭ 56 (+100%)
Mutual labels:  substrate, polkadot
ares
Completely decentralized oracle protocol
Stars: ✭ 51 (+82.14%)
Mutual labels:  substrate, polkadot

Substrate Graph

What

A compact indexer for @paritytech substrate based nodes providing a graphql interface.

Realtime

Why

Interacting, archiving and querying transactions on blockchain nodes can become expensive. An indexer provides unified access to historic data. Parsing and creating complex interfaces with this data is cumbersome when using REST, GraphQL offers the latest and greatest to query, subscribe and mutate data leading to efficient data structures and therefore hopefully cleaner code and better (D)Apps.

How

We have built a docker-compose to fire up a stack as pictured below:

Schema

Getting started

This is tested on macOS and Linux. Experience may vary on Windoze.

Requirements:

  • docker
  • docker-compose
  • text editor
  • (make)

If you want to build/edit frontend or archiver:

  • rust

Run it

  1. clone the repo git clone https://github.com/playzero/substrate-graph && cd substrate-graph
  2. setup your env vars or start with a clone of .env.example ('')
  3. setup your archiver config and chainspec in ./config
  4. docker-compose up
  5. log in to hasura localhost:18080 and enter your admin password
  6. on the data tab, add all untracked items
  7. have phun in graphiql!

All data will be persisted in your local repository ./data. Inside all services will store their data, like postgres, substrate/polkadot/kusama. To restart fresh, when things go south, make sure to clean up the contents of the data folder.

Frontend

An example app has been created in packages/substrate-graph-frontend. To get started with it, from your substrate-graph dir, get the submodules with git submodule init && git submodule update.

After that you may build the frontend app like this and run it afterwards: cd ./packages/substrate-graph-frontend && yarn, then yarn start.

if everything runs smoothly, you will see a graphql subscription rendering into a block number and a small table showing recent blocks and contents.

Substrate-Archive

Currently an older archive version is used for building the docker images, which are used in the compose file. They are based on code found at packages/substrate-archive. This will be updated but ofc you may use your own images here, if you so wish.

Status

  • add polkadot

  • add custom substrate nodes (substrate node template)

  • add config examples

  • add docker-compose

  • add subscriptions

  • add frontend example

  • add monitoring dashboard

  • add load balancer example

  • kubernetes / helm chart

  • add crawler / harvester

  • add

Discuss

Join us on Discord: ZERO on Discord

Credits

Further Reading

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].