如何为你的 web3 项目选择数据提供者?

除了加密货币代币,得益于 Footprint,区块链还使分析师能够更清楚地了解几乎任何 GameFi 项目、NFT、市场或 DeFi 协议。

在 Footprint,我们创建了一种方法来编译和有意义地聚合原始区块链数据。 这适用于编程集成。

1. 使用区块链数据的方法

先说编程集成方法。 有几种不同的方法可以处理区块链数据,您选择的方法将取决于您的具体需求和目标。 这是一个快速概述:

1.1 区块链探索者

区块链浏览器是一种网站或工具,可让您查看存储在区块链上的数据。 这是访问有关特定交易、区块和区块链上其他数据的信息的一种快速简便的方法。

区块链浏览器可以成为访问和查看存储在区块链上的数据的有用工具,但它们在软件集成方面确实有一些限制。 以下是区块链探索者可能缺乏的一些例子:

  • 主要关注原始数据。 区块链浏览器通常显示来自区块链的原始数据。 这需要对原始数据实施抽象,这可能很乏味,特别是对于专注于交付而不是某些区块链技术细节的项目。
  • 自定义选项:区块链浏览器通常设计为用户友好且易于使用,这意味着它们可能不会提供很多自定义选项。 这可能很难根据您的特定需求或偏好定制资源管理器。
  • 高级搜索功能:区块链浏览器通常具有基本搜索功能,但可能不支持更高级的搜索功能,例如布尔运算符或正则表达式。 这可能会使在区块链上搜索特定信息变得困难。
  • 交互性:许多区块链浏览器本质上是只读工具。

虽然区块链浏览器是访问和查看区块链原始数据的有用方式,但它们确实有一些局限性,您在决定基于它们实施解决方案基础设施之前应该了解这些局限性。

 1.2 自己的索引解决方案

设置你自己的索引器来处理区块链数据可能有几个优点和潜在的缺点。 以下是每个示例的几个示例:

优点:

  • 自定义:设置索引器时,您可以完全控制数据的索引和访问方式。 这可以让您根据您的特定需求和偏好定制索引器。
  • 独立性:通过设置索引器,您无需依赖第三方服务来维护和更新索引。 这可以在您使用区块链数据时提供更大的控制和灵活性。
  • 提高安全性:当您设置自己的索引器时,您可以实施自己的安全措施来保护数据并防止未经授权的访问。

缺点:

  • 复杂性:设置索引器可能是一个复杂且耗时的过程,尤其是当您不熟悉区块链技术时。 您将需要了解底层技术并愿意投入所需的时间和精力来启动和运行索引器。
  • 维护:设置索引器后,您将负责维护和更新它。 这可能需要持续的技术专业知识和资源,如果您没有必要的知识或支持,这可能是一个劣势。
  • 成本:设置自己的索引器可能很昂贵,因为您必须购买运行索引器所需的硬件和软件,并支付任何相关费用,例如电力和带宽。

总的来说,设置自己的索引器来处理区块链数据可以提供更好的控制和定制,但它也可能是一个复杂且昂贵的过程。 在决定这是否是正确的方法之前,仔细考虑优点和缺点很重要。

1.3 数据库即服务

使用第三方索引器来处理区块链数据可能有几个优点和潜在的缺点。 以下是每个示例的几个示例:

优势:

  • 易用性:第三方索引器通常设计为易于使用,这意味着您可以快速开始使用区块链数据,而无需学习大量技术细节或运行您的自定义索引解决方案(无论是否自行开发或现成的SDK)
  • 高级搜索功能:许多第三方索引器提供高级搜索功能,例如布尔运算符和正则表达式,使得在区块链上搜索特定信息变得更加容易。 这些可以有许多实际实现,但索引数据通常被添加到关系数据库中,这意味着完整的 SQL 支持。
  • 可扩展性:第三方索引器通常设计用于处理大量数据,这意味着如果您需要从大型区块链中搜索或访问数据,它们可能是一个不错的选择。
  • 可靠性:第三方索引器通常由具有资源和专业知识的专业组织运行,以确保索引始终是最新和准确的。 解决方案并不总是分散的,因为它们专注于处理大量数据,但绝大多数是开源的,这增加了用户对服务的信心。

缺点:

  • 依赖性:使用第三方索引器,您依赖该服务来维护和更新索引。 如果索引器遇到技术问题或离线,您可能无法访问区块链数据。
  • 有限的定制:第三方索引器通常设计为易于使用,这意味着它们可能不会提供很多定制选项。 这会使根据您的特定需求或偏好定制索引器变得困难。
  • 成本:一些第三方索引器可能会对其服务收取费用,如果您的预算紧张,这可能是一个劣势。

总之,使用第三方索引器来处理区块链数据可能是一种方便有效的选择,但有限且有时缺乏定制。

1.4总结

Footprint 的目标主要是降低进入分析和使用 web3 数据的门槛。 这种方法是易用性和灵活性之间的平衡。 这就是为什么我们的服务之一是 DaaS(数据库作为服务类型)。 在我们仔细研究我们服务的优势之前,我们还将研究索引器的另一个实现选项,即自写解决方案或 SDK。

在接下来的章节中,我们将探索只读区块链 API 应该具备的核心特性。 我们将从不同角度看待问题并考虑替代解决方案。 区块链 API 的一些最重要的特性包括:

  • 易用性和灵活性
  • 可扩展性
  • 兼容性

易用性和灵活性是区块链 API 的两个重要特征。 易于使用的区块链 API 将使开发人员更容易开始构建基于区块链的应用程序,使他们能够快速制作原型并测试他们的想法,而无需花费大量时间学习如何使用 API。

另一方面,灵活性是指区块链 API 支持广泛用例和应用程序的能力。 灵活的区块链 API 将允许开发人员访问区块链的不同部分,并构建与不同类型的智能合约和其他基于区块链的资产交互的应用程序。 这对于希望构建可用于各种行业和环境的应用程序的开发人员来说尤其重要。

总体而言,拥有既易于使用又灵活的区块链 API 可以让开发人员更轻松地构建创新和有用的应用程序,这些应用程序可以利用区块链技术的独特特性和功能。

1.5 足迹分析

我们的数据组织确保了易用性和灵活性,这影响了与 Footprint 生态系统交互的所有方面。 Footprint 有一个建立在这个数据模型之上的 API,允许用户为数据分析和机器学习应用程序构建成熟的数据管道。 我们称之为数据 API。 我们同时支持两种类型的 API 和其中一种中的两种子类型以涵盖大多数情况:Rest API 和 SQL API。

REST API 使我们能够快速集成应用程序,因为每个端点都是预构建的硬编码脚本,我们已将其确定为最受欢迎的脚本之一。 所有端点都带有易于使用的过滤、排序和分页工具。

由于 SQL API 的适应性更强的接口,您可以获得它以用于更具体的情况。 在 Web 应用程序和 API 中使用相同的 SQL 查询的好处之一是它可以简化开发和维护。 通过在两个界面中使用相同的查询,开发人员可以避免为 Web 应用程序和 API 编写和维护单独的查询集。 这可以节省时间和精力,并降低两个界面之间出现错误或不一致的风险。

此外,在 Web 应用程序和 API 中使用相同的 SQL 查询可以让开发人员更轻松地创建无缝的用户体验。 通过使用相同的查询,开发人员可以确保 Web 应用程序和 API 访问和操作的数据是一致的,允许用户在两​​个界面之间切换而不会遇到任何不一致或中断。

 1.6 其他平台

许多替代分析解决方案允许用户根据不同级别的要求分析不同的网络。 然而,在大多数情况下,替代解决方案往往会走极端,要么实施需要查询语言甚至编程语言知识的非常灵活的产品,要么实施具有准备好的脚本的非常简单的界面,因此灵活性较低。

Moralis 和 Quicknode 等解决方案只有一个 REST API 接口。 尽管有很多端点,但它仍然限制了开发人员返回数据的灵活性。

Dune 最近推出了它的 API。 这种异步解决方案意味着平台上初步存在某个id(dune.com/query/{{query id}})下的查询,通过它可以以SQL的形式执行查询。 该解决方案的关键限制是需要预先修改平台上的 SQL,以便随后执行更新的查询。

Chainbase 以与 Footprint 相同的方式发布 SQL API。 尽管如此,与 Footprint 不同的是,Chainbase 没有如此复杂的 ETL,因此只能对原始交易执行 SQL 查询。

2。 可扩展性

区块链 API 应该能够处理大量数据和交易,允许开发人员构建可同时被许多用户使用的应用程序。

 2.1 足迹分析

 2.1.1 现代开放数据栈

Footprint 团队自 2021 年 XNUMX 月上线以来,已经进行了多次架构升级,这得益于其强大的技术探索和迭代能力。 在不到一年半的时间里,团队已​​经能够成功实施这些变革。 这证明了该团队在技术和数据科学方面的技能和专业知识。

通过实验,Footprint 迭代地进行了三个全局架构更新,最终达到了满足平台各种用例要求的架构。 有关实施演变的更多信息,请参阅下一篇文章:

https://www.footprint.network/article/iceberg-spark-trino-a-modern-opensource-data-stack-for-blockchain-fp-HGZpPm3D

 2.1.2 同步和异步执行

在 Footprint 中,有两种模式可以执行对 SQL API 的查询——同步和异步。 对同步端点的 API 调用意味着一旦从应用程序收到 HTTP 请求,Footprint 服务器就会执行 SQL 查询,从而保持连接。 这在使用轻量级请求时很有意义,因为在这种情况下,应用程序不必等待很长时间即可执行。 详情可以在以下页面找到:

https://docs.footprint.network/reference/post_native

对于重请求,建议使用异步请求。 与同步应用程序不同,客户端应用程序在执行期间不必保持与服务器的连接。 而是立即获取request-id,根据request-id一段时间后,分别获取执行结果。 作为异步 API 的一部分,应该包括两步来获取数据——以下端点将用于发送 SQL 执行的“命令”:

https://docs.footprint.network/reference/post_native-async

第二步是通过访问上一个端点时获得的标识符发送请求接收结果。 第二步的端点在下一页中描述:

https://docs.footprint.network/reference/get_native-execution-id-results

2.2 其他解决方案

DuneV2 改变了整个数据库架构。 Dune 现在正在从 PostgreSQL 数据库过渡到托管在 [[Databricks]] 上的 [[Apache Spark]] 实例。 只有异步 API。

3。 兼容性

区块链 API 应该兼容广泛的编程语言和开发环境,以便开发人员可以使用他们最熟悉的工具和框架。

REST 更容易集成,因为每种编程语言都有许多库可以提供与此类 API 的舒适工作。 然而,归根结底,SQL API 和 REST 都是基于 HTTP 工作的,因此默认发送请求的开发体验几乎相同。

4。 总结

正如我们所分析的,在大多数情况下,应用程序使用现成的 DaaS 解决方案就足够了,因为它们可以返回抽象(不仅仅是原始数据)并节省大量时间和金钱,因为它们最终允许团队关注的不是基础设施,而是产品的价值。 经历了 DaaS 市场的各种解决方案,

Footprint 似乎是最适合集成的,因为它具有最灵活的生成请求模型,同时易于使用并且在引擎盖下具有现代开源数据堆栈,可确保不间断,最重要的是,快速执行最复杂的请求。

发表于: 分析, Web3

阅读我们最新的市场报告

资料来源:https://cryptoslate.com/how-to-choose-a-data-provider-for-your-web3-project/