TheGraph文档


什么是 graph?

先看官方介绍

Graph 是一种去中心化协议,用于从以太坊开始索引和查询区块链中的数据。它使查询难以直接查询的数据成为可能。

本人的理解:

由于区块链去中心化的特质,导致了无论任何数据,在链上存储都需要花费费用,而当构建一些大中型复杂项目的时候,就会遇到数据检索问题。一般来说,开发者可以选择自己同步数据,但是往往会面临一些数据同步,开发成本等等问题。而the graph就是目前解决这种问题的一种通用方案。开发者可以在开发的时候定义好需要检索的数据格式,发布之后,graph节点可以比较方便的同步数据,并提供了 GraphQL API来查询你同步的数据。

一句话。通俗的说,就是一个第三方数据库检索平台。

the graph 的经济模型?

the graph 的经济参与角色共分为 开发者(Developer),索引商(Indexers),委托人(Curators),管理者(Delegators)
开发者:

graph的发布者,开发合约查询逻辑并发布到graph上,当自己的graph被查询,需要支付 GRT 账单,每周一次,根据使用量收费graph的发布者,开发合约查询逻辑并发布到graph上,当自己的graph被查询,需要支付 GRT 账单,每周一次,根据使用量收费
索引商

节点运营商,提供节点以供查询,开发者发布的subgraph查询将会支付费用,其中一部分会给到索引商
委托人

抵押自己的 GRT 到 索引商节点,可以获得 GRT 奖励
管理者

组织数据

the graph部署教程

类似的教程其实有很多,照着做一般都没有问题,下面列出本人跑过的:

the graph的支付问题

天下没有免费的午餐。也没有免费的早餐,晚餐。更没有免费(可靠)的节点服务。 如果是自己发布graph,需要根据使用量进行收费。收费模式是每周会出一个账单,官方文档
如果没看明白,想了解详细的关于支付方式可以参考本人的 这篇文章

可不可以自己发布正式节点在主网络上用?

可以。但是很不划算。理由如下(以下观点为个人理解):
  1. 自己的节点可能无法反映在 Graph Explorer 中
  2. 对服务器要求较高
  3. 还需要一个主网节点,主网节点对配置以及时间成本更大。自己跑全节点得跑一天,买服务器,用公共的节点同样有花钱的问题。
  4. 人力成本,发布乱七八糟的节点(geth,ipfs等), 环境(Rust, PostgreSQL等)的时间成本。