The Graph

一個用來查詢區塊鏈數據的工具

使用 graphQL 數據結構,讓你可以監聽區塊鏈節點的事件或數據,並且發佈到 graph node 上面。之後可以讓大家 Query 使用。需要自己寫一個 subgraph 的邏輯,然後發布到 graph node上。官方有提供 名為 studio node 的 graph node。也可以在自己本地架設。

官方文件

https://thegraph.com/docs/en/

本地架設 Graph node 教學

https://thegraph.academy/developers/local-development/

探索已發佈的 Subgraph

使用 OpenZeppelin 範例

https://github.com/OpenZeppelin/openzeppelin-subgraphs

https://docs.openzeppelin.com/subgraphs/0.1.x/

將以上 clone 到你的專案或是 npm install @openzeppelin/subgraphs,之後 copy node_module 裡面 config file,然後放到你的專案內

之後輸入以下(要把 --config 後的路徑改成剛的 config file)

之後要去把 編譯出來的 yaml 改名為 subgraph.yaml,然後增加 network 與 contract address 等 config field

ERC721 的 subgraph.yaml 範例:

之後看你要部署到 studio 還是自己 host 的節點,如果要部署到 studio 就先去 https://thegraph.com/studio/ create subgraph 然後從 cli auth 後 deploy

部署到 local 節點就參考:https://thegraph.academy/developers/local-development/

查看目前 subgraph 健康度

hosted service 可用此 endpoint https://api.thegraph.com/index-node/graphq

相關事項

graph-cli 版本 0.16 後有改變指令,如果要用舊版 cli 部署到 studio 或 host-service 可以如下使用 --node 參數

const HOSTED_SERVICE_URL = 'https://api.thegraph.com/deploy/'

const SUBGRAPH_STUDIO_URL = 'https://api.studio.thegraph.com/deploy/'

相關範例

OpenZeppelin:

https://github.com/OpenZeppelin/openzeppelin-subgraphs

NFT:

https://github.com/dabit3/custom-nft-subgraph-workshop

https://github.com/dabit3/bored-ape-yacht-club-api-and-subgraph

https://github.com/dabit3/building-a-subgraph-workshop

DeFi:

https://github.com/token-terminal/tt-subgraphs

https://github.com/messari/subgraphs

Last updated

Was this helpful?