这里可能有读者好奇为什么 SubGraph 存在多个运营商?
这是因为 SubGraph 框架其实只是约定了数据的如何从区块内读取和写入数据库。
对于数据如何流入 SubGraph 程序以及最终的输出结果写入到哪种数据库其实都没有进行实现,这些内容需要 SubGraph 运营商自己实现。
一般来说,SubGraph 运营商都会进行节点修改等实现更快的速度,不同的运营商(如 TheGraph,Goldsky )存在不同的策略和技术方案。
TheGraph 目前使用了 Firehouse 技术方案,该技术方案引入后,TheGraph 可以实现比过去更加快速的数据检索,而 Goldsky 并没有对外开源公开其 SubGraph 运行的核心程序。
正如上文所述,TheGraph 是一个去中心化的数据检索平台,以 Unisawp v3 subgraph为例,我们可以看到存在大量的运营商为 Uniswap v3 提供数据检索,为次我们也可以将 TheGraph 视为一个 SubGraph 运营商的集成平台,用户可以将自己编写的 SubGraph 代码发送给 TheGraph,然后 TheGraph 内部存在一些运营商可以帮助用户检索数据。

对于 Goldsky 这种集中化平台而言,Goldsky 存在一个简单的计费标准,基于使用资源的计费,这是互联网中最常见的 SaaS 平台的计费方式,大部份技术人员对对在这种方式十分熟悉。下图展示了 Goldsky 的价格计算器:

TheGraph 则有一套完全与常规计费方式不同的费用方案,这套费用方案与 GRT 的代币经济学有关,下图展示了 GRT 的整体代币经济学:

-
每当 DApp 或钱包向某个 Subgraph 发起请求,所付的 Query Fee 会被自动拆分:1 % 烧毁、约 10 % 流入该 Subgraph 的策展池(Curator / 开发者),其余≈ 89 % 按指数返利机制打给提供算力的 Indexer 及其 Delegator。
-
Indexer 要先自质押≥ 100 k GRT 才能上线;若返回错误数据将被惩罚(slashing)。Delegator 把 GRT 委托给 Indexer,按比例分得上述 89 % 的大头。
-
Curator(通常就是开发者)通过 Signal 在自家 Subgraph 的债券曲线上质押 GRT;Signal 数越高,越能吸引 Indexer 分配资源。社区经验建议自筹 5 k–10 k GRT 可保证数个 Indexer 接单。与此同时,策展人还能拿到那 10 % Royalty。
TheGraph 的按次查询费:
在 TheGraph 后台内注册 API KEY,并使用该 API KEY 请求 TheGraph 内运营商检索的数据,这部分请求是按照请求次数收费,开发者需要预先在平台内存入一部分 GRT 代币作为 API 请求的开销。
