世界杯竞猜项目Dapp-第四章(subgraph)

subgraph 是什么

subgraph 索引协议作为 Dapp 领域最重要的基建之一(如 uniswap、wave 等都在使用),主要用来做链上数据索引,即在链下对链上事件进行捕捉(扫链、计算、存储),然后可对存储下来的数据进行相关读操作,其关键总结为三点:

  • 通过链下监听事件,逻辑处理,然后存储到数据库中,供前端调用;
  • 常用于统计历史信息及变化,仅做展示相关,可以节约链上存储成本,且响应更快;
  • 请求 subgraph 时使用专门的 graphql 语言,而非 sql;

原理

  • 用户从合约侧发起交易;
  • 合约发送事件;
  • 由 subgraph 监听到该事件,并在内部执行逻辑(根据实际业务需求自定义),处理后入库;
  • 用户(前端)从 subgraph 的数据库中读取数据,完成展示;
    在这里插入图片描述

使用方式

  • the graph 官方提供的去中心化网络:subgraph studio(需要 token 支持,请自行尝试)
  • 也可搭建本地 graph node,先下载其环境到本地:
git clone https://github.com/graphprotocol/graph-node/

这里对 graph node 与 subgraph 关系进行说明,在 graph node 上可以部署多个 subgraph,每个 subgraph 可以服务多个不同的项目。

创建 subgraph

// 安装 subgraph
npm install -g  @graphprotocol/graph-cli
// 初始化
graph init

具体选项跟随引导程序填写,选择:网络 -> 名称 -> 合约地址 -> 合约名字,引导程序会自动在网络上拉取 ABI(前提是我们 verify 了,否则需要自己填写)
在这里插入图片描述
subgraph 项目结构
在这里插入图片描述

配置修改

增加扫块起点 startBlock 为当前合约所部署的块,如果不增加,则从最初块开始扫,效率低
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

”PANDA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值