Skip to main content

Graph Node

Project Info

Graph Node is a protocol for building decentralized applications (dApps) quickly on Ethereum 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 Smart Energy Chain'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 Smart Energy Chain rpc info
RUST_LOG: info
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

graphnode.jpg