以太坊 - 如何使用 QuickNode 单飞 RPC

  • QuickNode
  • 发布于 2025-01-30 17:46
  • 阅读 16

这篇文章详细介绍了如何使用QuickNode的Single Flight RPC附加功能更高效地获取以太坊区块和交易数据。文中探讨了传统的数据获取方式及其局限性,并展示了新方法的使用示例,强调了其在节省时间和成本方面的优势。这为开发者提供了有价值的指导,帮助他们优化区块链数据交互的效率。

概述

区块链网络就像矿山,黑暗而复杂,而这些链上的数据就像黄金。提取黄金需要付出大量的工作,类似地,从一个由各种流程组成的区块链网络中提取数据也需要努力。区块数据和交易收据是这一数据的重要组成部分,因为它们维持了网络的透明度和完整性。区块包含网络处理的所有交易,并通过独特的哈希链接在一起。交易收据提供了某一特定交易已被处理的证明,并允许用户在以太坊网络中跟踪其交易的进度。区块和交易收据共同帮助确保以太坊网络的安全性和可靠性。在本指南中,我们将讨论 QuickNode Marketplace 附加组件 Single Flight RPC,它使获取这些数据集的任务变得更加容易。

你将需要什么

你将做什么

什么是回填 (Backfilling)?

回填是从创世区块到最新区块拉取所有数据的过程,然后在链下数据库中对数据进行索引。这最终减少了每次需要数据时与区块链的调用或交互,因为查询区块链既昂贵又耗时。将所有数据存储在链下数据库中减少了对区块链的调用次数,这样可以降低费用并节省时间。

现在这个过程是什么样的?

目前,此过程涉及对区块链节点进行区块或交易级别的方法调用,以获取必要的信息。这导致了以下低效之处:

时间 - 组织和开发人员可能需要几个月才能收集到启动其项目所需的信息。

工程 - 一旦组织获得了所需的数据,开发处理这些大量数据所需的系统可能会耗费数月时间。

成本 - 根据链的不同,获取交易详情可能会花费数十万美元。

什么是 QuickNode Marketplace?

QuickNode 的 Marketplace 是一个平台,开发者和公司可以在此列出其 web3 工具,能够与 QuickNode 的核心 RPC 一起工作。它就像是 web3 工具的应用商店。了解如何使用我们的 Marketplace 指南创建和展示你自己的工具

使用 QuickNode 创建以太坊端点

要使用 Single Flight RPC,我们首先需要在 创建 QuickNode 端点 时,在“配置附加组件”页面上安装该附加组件。

检索区块和交易数据

在本指南中,我们将看到如何使用 QuickNode MarketplaceSingle Flight RPC 附加组件 轻松获取区块和交易数据。但首先,让我们看看我们传统上如何获取区块和交易数据。

传统方式 - 使用未带 Single Flight RPC 附加组件的 QuickNode 端点。

要获取以太坊或其他 EVM 基链上的区块数据,我们使用方法 eth_getBlockByNumbereth_getBlockByHash

curl QUICKNODE_HTTPS_URL_HERE \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getBlockByNumber","params":["0xc5043f",false],"id":1,"jsonrpc":"2.0"}'
curl QUICKNODE_HTTPS_URL_HERE \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getBlockByHash","params":["0x829df9bb801fc0494abf2f443423a49ffa32964554db71b098d332d87b70a48b",false],"id":1,"jsonrpc":"2.0"}'

要获取交易数据,我们必须对从区块数据中获得的每个交易 hash 调用 eth_getTransactionReceipt,该 hash 是使用 eth_getBlockByNumber/eth_getBlockByHash 方法获得的。

curl QUICKNODE_URL_HERE
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getTransactionReceipt","params":["0x04b713fdbbf14d4712df5ccc7bb3dfb102ac28b99872506a363c0dcc0ce4343c"],"id":1,"jsonrpc":"2.0"}'

快速方式 - 使用带有 Single Flight RPC 附加组件的 QuickNode 端点。

我们可以通过之前提到的获取交易和区块数据的冗长过程,或者可以使用 QuickNode Marketplace 的 Single Flight RPC 附加组件。让我们看看该附加组件的实际应用:

curl QUICKNODE_URL_HERE
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"qn_getBlockWithReceipts","params":["0xEDA8CE"],"id":1,"jsonrpc":"2.0"}'
  • qn_getReceipts: 此 RPC 方法将为你提供所查询区块的所有交易收据。
curl QUICKNODE_URL_HERE
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"qn_getReceipts","params":["0xEDA8CE"],"id":1,"jsonrpc":"2.0"}'

Single Flight RPC 支持以下链:

注意: 所有 QuickNode 自定义方法都带有重试功能,以确保可以获得请求的响应。

关键要点

本指南教会了我们如何使用 QuickNode Marketplace 的 Single Flight RPC 附加组件有效地获取区块和交易数据。如果你有任何问题,请加入我们的 Discord,或通过 Twitter 联系我们。

我们 ❤️ 反馈!

如果你对本指南有任何反馈或问题,告诉我们。我们非常想听到你的意见!

  • 原文链接: quicknode.com/guides/qui...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
QuickNode
QuickNode
江湖只有他的大名,没有他的介绍。