本文介绍了 QuickNode Marketplace 中的 Single Flight RPC add-on,它可以更高效地从以太坊区块链网络中提取区块和交易数据。传统的获取方式需要多次调用区块链节点,效率低下且成本高昂,而 Single Flight RPC 允许通过单个 RPC 调用获取区块和所有相关的交易回执,大大简化了数据 backfilling 过程。
区块链网络就像矿山,黑暗而复杂,这些链上的数据就像黄金。必须做很多工作才能从矿山中提取黄金,类似于从由各种流程组成的区块链网络中提取数据。区块数据和交易回执是这些数据中至关重要的部分,因为它们维护了网络的透明度和完整性。区块包含网络已处理的所有交易,并通过使用唯一的哈希值链接在一起。交易回执提供了特定交易已被处理的证明,并允许用户跟踪其交易在以太坊网络中的进度。总而言之,区块和交易回执有助于确保以太坊网络的安全性和可靠性。在本指南中,我们将讨论 QuickNode Marketplace 插件 Single flight RPC,它使获取这些数据集的任务变得更容易。
你需要的
你要做的
回填是从创世区块到最新区块(tip)提取所有区块链数据的过程,然后在链下数据库中索引这些数据。这最终减少了每次需要数据时与区块链的调用或交互次数,因为查询区块链既昂贵又耗时。在链下数据库中提供所有数据可以减少对区块链的调用次数,而这些调用可能既昂贵又耗时。
这个过程现在是什么样的?
目前,此过程涉及对区块链节点进行区块或交易级别的调用,以获取必要的信息。这导致以下低效率:
时间 - 组织和开发人员可能需要花费数月时间来收集启动其计划所需的信息。
工程 - 一旦组织拥有所需的数据,可能需要数月时间来开发后处理这些大量数据所需的系统。
成本 - 根据链的不同 - 获取交易详情可能花费数十万美元。
QuickNode 的 Marketplace 是一个平台,开发人员和公司可以在其中列出他们的 web3 工具,这些工具可以与 QuickNode 的核心 RPC 一起工作。它就像 web3 工具的应用程序商店。了解如何使用我们的 Marketplace 指南创建和展示你自己的工具。
要使用 Single Flight RPC,我们首先需要在创建我们的 QuickNode 端点时在“配置插件”页面上安装该插件。
在本指南中,我们将了解如何使用 QuickNode Marketplace 上的 Single Flight RPC 插件 轻松获取区块和交易数据。但首先,让我们看看我们如何以传统方式获取区块和交易数据。
传统方式 - 使用没有 Single Flight RPC 插件的 QuickNode 端点。
要在以太坊或其他一些基于 EVM 的链上获取区块数据,我们使用方法 eth_getBlockByNumber 或 eth_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"}'
要获取交易数据,我们必须对使用 eth_getBlockByNumber/eth_getBlockByHash 方法在区块数据中获取的每个交易哈希调用 eth_getTransactionReceipt。
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"}'
curl QUICKNODE_URL_HERE
-X POST \
-H "Content-Type: application/json" \
--data '{"method":"qn_getReceipts","params":["0xEDA8CE"],"id":1,"jsonrpc":"2.0"}'
注意:所有 QuickNode 自定义方法都具有重试功能,因此始终保证对请求的响应。
本指南教会了我们一种使用 QuickNode Marketplace 中的 Single Flight RPC 插件获取区块和交易数据的高效方法。如果你有任何问题,请加入我们的 Discord,或者通过 Twitter 与我们联系。
我们 ❤️ 反馈!
如果你对此指南有任何反馈或问题,请告诉我们。我们很乐意听取你的意见!
- 原文链接: quicknode.com/guides/mar...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!