这篇文章详细介绍了如何使用QuickNode的BTC Blockbook JSON-RPC Add-On查找比特币地址的余额和交易记录。文章涵盖了RPC方法的介绍、如何创建比特币端点的步骤,以及如何使用cURL命令进行查询。最后,有关如何获取和格式化JSON输出的额外信息也被提供。
如果你在运行自己的比特币节点,你可能希望能够查找你不拥有的地址的余额。当第一次发生这种情况时,你可能会创建一个 只读钱包 并添加相关地址。这可以工作,但接下来你需要再加一个。如果你已经构建了一个钱包并且正在运行一个(非 SPV)轻客户端,那么这种策略将无法扩展 - 你的比特币节点将耗尽内存。
这就是为什么 QuickNode 为希望访问比特币网络的客户提供了一个特定的附加组件,BTC Blockbook JSON-RPC 附加组件。它包括 3 个 RPC 方法,允许你提供一个比特币地址或一个 XPub 密钥,并检索其余额、交易和 UTXO。
XPuB 密钥,全称扩展公钥,是从主公钥派生的分层确定性密钥,在比特币等加密货币中使用。它用于生成一系列可以接收资金的公钥。
未花费交易输出 (UTXO) 在比特币中指的是来自上一个交易的未花费硬币,这些硬币存储在区块链中,可作为未来交易的输入使用。
Blockbook RPC 附加组件 方法如下所述。
bb_getUTXOs
- 返回地址或 xpub 的未花费交易输出数组。bb_getXPUB
- 返回 xpub 或输出描述符的余额和交易。bb_getAddress
- 返回地址的余额和交易。返回的交易按区块高度排序,最新的区块在前。在本指南中,我们将重点关注 bb_getAddress
RPC 方法以检索比特币地址的余额。
让我们快速了解一下如何设置和使用这个 RPC 方法。
要在 QuickNode 上创建你的比特币端点,选择 比特币 链并选择 主网络。点击 继续。
接下来,会要求你配置附加组件。由于 Blockbook RPC 附加组件
是付费附加组件,因此你需要一个付费的 QuickNode 计划。根据你的需求选择一个计划。 (_详见 Blockbook RPC 附加组件 的详情)。
创建附加组件的端点后,复制你的 QuickNode HTTP 提供程序 URL。
现在,我们准备测试我们的新附加组件!打开终端窗口并运行以下 cURL 命令。确保将 YOUR_QUICKNODE_HTTP_PROVIDER_URL
改为你的 Quicknode HTTP 提供程序 URL。
在这个示例中,我们将查找以下比特币地址的余额和最近的十笔交易:1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
。你可以根据自己的需要更改地址或其他参数。
curl YOUR_QUICKNODE_HTTP_PROVIDER_URL \
--header 'Content-Type: application/json' \
--data '{"method": "bb_getaddress", "params": ["1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa", {"page": 1, "size": 10, "fromHeight": 0, "details": "txids"}]}'
page
: 你想检索的页面size
: 每页你想要的交易数量fromHeight
: 从区块高度过滤返回的交易details
: 选项以指定返回的数据结构。它必须是以下值之一:basic、txids 或 txs
(可选)为了使 JSON 输出格式看起来更结构化并包含语法高亮,你可以使用诸如 pjson 或 jq 的库。
输出应该看起来像这样,有 pjson 或 jq:
余额、总接收金额 和 总发送金额 的结果单位为 聪 (Sat),这是比特币的最小单位。每个比特币等于 1 亿聪。因此,在写此指南时,该地址的余额为 72.63430323 BTC
。
干得好!现在,可以轻松获取任何比特币地址的 余额、总接收金额、总发送金额、总交易金额 和 最新交易 ID。请查看 QuickNode 市场 以获取更多工具,轻松开发你的 Web3 应用。
务必订阅我们的 通讯 以获取更多文章和指南。如果你有任何反馈,请随时通过 Twitter 与我们联系。你还可以在我们的 Discord 社区服务器上与我们聊天,那里聚集了一些你见过的最酷的开发者 :)
我们还要感谢整个 bcoin 团队,特别是 Matthew Zipkin,感谢他们制作出色的软件并指导我们的团队支持 bcoin 在 QuickNode pro 网络上的使用!
告诉我们 如果你有任何反馈或对新主题的请求。我们很想听到你的声音。
- 原文链接: quicknode.com/guides/qui...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!