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 Hepton
's node connection information.
YAML
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 hepton 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