Graph Node

Project Info

Graph Node is a protocol for building decentralized applications (dApps) quickly on Bitindi and IPFS using GraphQL.

Usage

We recommend following the Official documentation for deployment. The next operation is only intended as a simple setup tutorial for reference.

Set up graph-node

For convenience reasons, we use the official docker compose for node, database, and IPFS deployment.

Note that the value of the ethereum field in docker-compose.yml is replaced with Bitindi's node connection information.

graph-node:
    image: graphprotocol/graph-node
    ports:
      - '8000:8000'
      - '8001:8001'
      - '8020:8020'
      - '8030:8030'
      - '8040:8040'
    depends_on:
      - ipfs
      - postgres
    environment:
      postgres_host: postgres
      postgres_user: graph-node
      postgres_pass: let-me-in
      postgres_db: graph-node
      ipfs: 'ipfs:5001'
      ethereum: 'mainnet:http://127.0.0.1:8545'  #replaced with Bitindi rpc info
      RUST_LOG: info

Note: The node connected to graph-node needs to be in archive mode (add flag –syncmode full –gcmode archive when starting the node), we recommend each user to build their own RPC node.

Create subgraph

This needs to be written by each user according to their own situation. The following projects can be used as references:

Deploy subgraph

Package and build the written subgraph into a wasm file and deploy to the graph node. The specific commands can be found in the sample project code above.

GraphQL usage

Once deployed, you can use GraphQL to request data