子查询是一个用于转换和查询Web 3.0世界数据的工具,旨在帮助开发者和用户更加快速、可靠地找到和使用数据,让去中心化的数据更加“易用”。
格鲁特写的
无论是经历了几十年沉淀和积累的传统互联网,还是近十年快速成长的区块链,数据的重要性不言而喻。面对海量数据,如何高效、准确地定位目标,获取有用信息,已经成为如今开发者乃至几乎所有人都在探索的“秘密宝藏”。
然而,这个问题在分散的区块链工业中特别困难。由于数据存储在分散的节点上,而开发者往往需要下载相应区块链网络的完整账本,从全链条的第一块开始依次搜索,这种查询过程漫长且效率低下。这给区块链开发者制造了一个“大麻烦”,也让DApp的用户体验不尽如人意。
本文将介绍的Web3.0基础设施子查询的作用是使分散的数据索引更有效,并使数据更易于使用。
什么是子查询?子查询是一个转换和查询Web3.0世界数据的工具。项目最初的目的是帮助Polkadot和Substrate项目更快速、更可靠地找到和使用数据,让去中心化的数据更“好用”。一个健康的分布式网络需要多个分布式数据提供商的合作,以提高灵活性、速度和稳定的网络性能。SubQuery将提供一个开源SDK,并将提供关于如何让任何索引器在区块链上探索和收集数据,以及如何向用户显示数据的说明。子查询网络强调简单性和高适应性,将尽可能方便所有愿意参与网络建设的开发者参与网络。
简单来说,SubQuery会将Polkadot和Substrate生态项目中的数据进行转换和整理,然后将这些数据提供给开发者,供他们调用钱包、区块浏览器和各种类型的DApp。
子查询的运行机制子查询网络的参与者分为三类,即“消费者”、“索引器”和“客户”。这三类参与者驱动着整个网络的运行。
其中,消费者会通过网络发出子查询和查询特定数据的指令,而这种查询动作需要支付一定数量的SQT代币,这些代币将成为提供给索引器和客户端的激励来源。索引器会将子查询项目添加到自己的基础设施中,通过运行节点和查询服务来索引数据和回答GraphQL的需求指令。客户需要通过支持他们喜欢的指数来激励自己。一般来说,索引器是整个子查询网络的基础,它需要完成管理硬件、运行基础设施、监控资源、执行数据查询任务等一系列动作来保证网络的正常运行。所有这些操作都要花费时间和金钱,但是一旦索引器构建了基础结构,消费者就可以从子查询网络请求特定的数据,并支付预定数量的子查询令牌SQT。消费者支付的钱将由柯布-道格拉斯生产函数进行分配,从而激励指数化者长期稳定工作。这笔钱进入项目收入池。在质押期(28天)结束时,算法会将这个项目收益池进行拆分,分配给索引器。委托人可以选择将SQT委托给索引器,这样他就可以获得相应索引器获得的一部分查询费作为报酬,而这个分成比例是由各个索引器设定的。索引器公布的查询手续费收入的分成比例锁定在每28天质押期。如果要降低份额费率,要等整个28天质押期结束后才能生效。委托人可以随时取消委托金额,但只有在整个质押期间完成后才能获得报酬。
对于维持网络正常运行的索引者来说,被回答的请求数量和承诺的金额都会影响最终的收入水平,这也会导致索引者之间的良性竞争。理性指数将保持高水平的SQT承诺,以获得更多的收入。所以,即使网络不要求质押金额,索引器为了利润最大化,还是会主动自我管理。
为了鼓励索引器索引和支持全新的子查询项目,网络还为消费者提供了一个名为“订单”的市场机制,向新的子查询项目的索引器发出信号,以确保其利润。消费者可以在链上以设定的价格和请求数量广播合同,索引器可以查看这些内容并选择执行合同。还可以对现有的子查询项目下订单,以吸引更多的索引器来提高竞争力和降低价格。
6月底,子查询也正式推出了子查询的字典索引功能,在某些场景下可以将子查询项目的索引性能提升10倍。通过预先索引链中所有事件的位置,子查询项目可以直接跳过非目标事件所在的块,这样可以有效减少以前依次搜索每个块所花费的时间。
子查询是一个团队资助合作伙伴,由Boca基础设施服务OnFinality背后的团队创建,Acala的联合创始人Ruitao Su担任该项目的顾问。
目前已获得圆点草间弥生金库、Web3基金会赠款、Substrate Builder计划、伯克利区块链Xcelerator、Web3.0 Bootcamp(上海)等多轮资金。40多个项目已经开始通过子查询进行管理。
发展路线图截至2021年5月,子查询在GitHub上实现了子查询CLI索引器/查询服务的开源,支持GitHub账户注册和子查询项目的全自动化和托管服务。
今年下半年,子查询将逐步将其服务分发到子查询网络,并完成治理令牌SQT的铸造和分发。未来,社区将参与未来路线图,生态系统和令牌将扩展到其他底物链。