subgraph 是什么
subgraph 索引协议作为 Dapp 领域最重要的基建之一(如 uniswap、wave 等都在使用),主要用来做链上数据索引,即在链下对链上事件进行捕捉(扫链、计算、存储),然后可对存储下来的数据进行相关读操作,其关键总结为三点:
- 通过链下监听事件,逻辑处理,然后存储到数据库中,供前端调用;
- 常用于统计历史信息及变化,仅做展示相关,可以节约链上存储成本,且响应更快;
- 请求 subgraph 时使用专门的 graphql 语言,而非 sql;
原理
- 用户从合约侧发起交易;
- 合约发送事件;
- 由 subgraph 监听到该事件,并在内部执行逻辑(根据实际业务需求自定义),处理后入库;
- 用户(前端)从 subgraph 的数据库中读取数据,完成展示;
使用方式
- the graph 官方提供的去中心化网络:subgraph studio(需要 token 支持,请自行尝试)
- 也可搭建本地 graph node,先下载其环境到本地: