什么是 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,需要根据使用量进行收费。收费模式是每周会出一个账单,官方文档。
如果没看明白,想了解详细的关于支付方式可以参考本人的 这篇文章
可不可以自己发布正式节点在主网络上用?
可以。但是很不划算。理由如下(以下观点为个人理解):
- 自己的节点可能无法反映在 Graph Explorer 中
- 对服务器要求较高
- 还需要一个主网节点,主网节点对配置以及时间成本更大。自己跑全节点得跑一天,买服务器,用公共的节点同样有花钱的问题。
- 人力成本,发布乱七八糟的节点(geth,ipfs等), 环境(Rust, PostgreSQL等)的时间成本。