REI Chain
Search
⌃K
📈

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