The Graph
一個用來查詢區塊鏈數據的工具
使用 graphQL 數據結構,讓你可以監聽區塊鏈節點的事件或數據,並且發佈到 graph node 上面。之後可以讓大家 Query 使用。需要自己寫一個 subgraph 的邏輯,然後發布到 graph node上。官方有提供 名為 studio node 的 graph node。也可以在自己本地架設。
官方文件
本地架設 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:
Last updated