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 Circle Layer Blockchain'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 Circle Layer Blockchain 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