这篇文章详细介绍了如何使用QuickNode的Single Flight RPC附加功能更高效地获取以太坊区块和交易数据。文中探讨了传统的数据获取方式及其局限性,并展示了新方法的使用示例,强调了其在节省时间和成本方面的优势。这为开发者提供了有价值的指导,帮助他们优化区块链数据交互的效率。
区块链网络就像矿山,黑暗而复杂,而这些链上的数据就像黄金。提取黄金需要付出大量的工作,类似地,从一个由各种流程组成的区块链网络中提取数据也需要努力。区块数据和交易收据是这一数据的重要组成部分,因为它们维持了网络的透明度和完整性。区块包含网络处理的所有交易,并通过独特的哈希链接在一起。交易收据提供了某一特定交易已被处理的证明,并允许用户在以太坊网络中跟踪其交易的进度。区块和交易收据共同帮助确保以太坊网络的安全性和可靠性。在本指南中,我们将讨论 QuickNode Marketplace 附加组件 Single Flight RPC,它使获取这些数据集的任务变得更加容易。
你将需要什么
你将做什么
回填是从创世区块到最新区块拉取所有数据的过程,然后在链下数据库中对数据进行索引。这最终减少了每次需要数据时与区块链的调用或交互,因为查询区块链既昂贵又耗时。将所有数据存储在链下数据库中减少了对区块链的调用次数,这样可以降低费用并节省时间。
现在这个过程是什么样的?
目前,此过程涉及对区块链节点进行区块或交易级别的方法调用,以获取必要的信息。这导致了以下低效之处:
时间 - 组织和开发人员可能需要几个月才能收集到启动其项目所需的信息。
工程 - 一旦组织获得了所需的数据,开发处理这些大量数据所需的系统可能会耗费数月时间。
成本 - 根据链的不同,获取交易详情可能会花费数十万美元。
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"}'
要获取交易数据,我们必须对从区块数据中获得的每个交易 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"}'
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/qui...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!