The Graph

The Graph is an indexing protocol for organizing blockchain data and making it easily accessible with GraphQL.

Findora Graph

Findora Network has hosted a Graph Node server to empower developers to build dApps on the Findora chain. Subgraphs can be deployed and updated using a pull request here (see below for instructions).

Graph node is an opensource Rust implementation that indexes the blockchain to deterministically update a datastore that can be queried via the GraphQL endpoint.

Check out the Graph Node Getting Started Guide for detailed instructions and more context.

How to create and test your subgraph locally

This example will walk you through the steps to create a new subgraph and test it on a local node on your machine.

Generate a subgraph

1- Clone this repo.

2- Generate base types from your schema.graphql settings.

# graph codegen FindoraNetwork/example-subgraph/subgraph.yaml
$ yarn gen FindoraNetwork/example-subgraph/subgraph.yaml
# ...
# ...
# ✔ Generate types for GraphQL schema
#
# Types generated successfully

3- Edit event mappings, such as src/handleFRC721Transfer.ts in the example directory.

4- After editing, compile them to web assembly files:

Run a local graph node to deploy and test your subgraph:

1- Install Docker on your machine.

2- Start graph-node:

3- Create a new subgraph edge:

4- Deploy your subgraph:

5- Browse http://127.0.0.1:8000/subgraphs/name/findora/example/graphql to explore.

Submit and deploy your subgraph

When you've tested your subgraph locally, you can now submit it to be deployed on the Findora mainnet node. This is done by submitting a pull request.

Deploy a new subgraph

1- Fork this repo.

2- Copy the FindoraNetwork/ directory and rename the root directory to be the same as your github handle.

3- Create a pull request and follow the template instructions before submitting your PR.

4- Your subgraph will be deployed upon review and made available at https://graph.findora.org/subgraphs/name/<github-handle>/<your-subgraph>/graphql

e.g. https://graph.findora.org/subgraphs/name/FindoraNetwork/example-subgraph/graphql

Update subgraphs

To update an existing subgraph, you may simply create another PR with you modifications.

Last updated

Was this helpful?