📈SubGraph

Developers can create their own SubGraph and create a pull-request of their ipfs_hash and deployed.

REI GraphQL

REI has provided The Graph, a decentralized protocol for indexing and querying data from blockchains.

Endpoint: https://rei-graph.moonrhythm.io/

To learn more about The Graph, here is the official document.

Pre-requisite

  • The Graph CLI: npm install -g @graphprotocol/graph-cli

  • IPFS: A peer-to-peer hypermedia protocol designed to preserve and grow humanity's knowledge by making the web upgradeable, resilient, and more open.

Get Started

Init graph from contract

graph init --product hosted-service --from-contract 0xC437190E5c4F85EbBdE74c86472900b323447603
  • Protocol - ethereum

  • Name - In format [group]/[name] It will be part of endpoint /name/foodcourt/factory/

  • Ethereum network - any (will edit later)

After successfully generate the project, the following structure are generated

- abis
- src
    - mapping.ts
- package.json
- schema.graphql
- subgraph.yaml
- tsconfig.json

Replace network value

network should be rei

subgraph.yaml
specVersion: 0.0.2
schema:
  file: ./schema.graphql
dataSources:
  - kind: ethereum
    name: FoodcourtFactory
    network: rei
    source:
      address: '0xC437190E5c4F85EbBdE74c86472900b323447603'
      abi: FoodcourtFactory
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.5
      language: wasm/assemblyscript
      entities:
        - PairCreated
      abis:
        - name: FoodcourtFactory
          file: ./abis/FoodcourtFactory.json
      eventHandlers:
        - event: PairCreated(indexed address,indexed address,address,uint256)
          handler: handlePairCreated
      file: ./src/mapping.ts

Run codegen to get generated folder

npm run codegen

Run build and upload to ipfs server to get hash

graph build --ipfs http://localhost:5001 subgraph.yaml

Build completed: Qm____HASH____

Next, create a pull-request to https://github.com/moonrhythm/rei-graph

example

After deploy and indexing is done, you should get endpoint like this to query your analytics data

https://rei-graph.moonrhythm.io/subgraphs/name/foodcourt/factory/graphql

Last updated