比特币 RPC 获取钱包外地址余额

Posted

技术标签:

【中文标题】比特币 RPC 获取钱包外地址余额【英文标题】:Bitcoin RPC get balance of address outside wallet 【发布时间】:2021-04-16 11:55:34 【问题描述】:

我想查看不在我钱包中的 btc 地址的余额。似乎像 blockchainexplorer 这样的网站会做这些事情。他们还提供 API,但我遇到了他们的 API 使用限制。所以我下载了完整的区块链并尝试使用 RPC。但是没有命令可以检查钱包外地址的余额。此外,“帐户”选项可能不适合,因为我想检查很多地址,但只检查一次......

那么你会怎么做呢?

我已经遇到了很多问题,比如信息过时、rpc 接口正在更新、python 库不再维护等等。但最终(现在)没有找到像区块链浏览器这样的网站似乎很容易做到的解决方案....

恐怕无法通过 RPC 以非常简单的方式完成。我可能需要某种填充数据库的区块链解析器。我很确定在这个方向上我也不需要重新发明***。所以有人知道做这样的事情的开源项目吗?请给我小费。

【问题讨论】:

【参考方案1】:

比特币 RPC 目前不计算所有地址的余额(不是由您的客户端导入的)。

您需要逐个区块、逐个交易地循环并计算 UTXO 以获得最终的未使用余额。

文档:

getblock getrawtransaction

或使用已经为您执行此操作的第三方 API(例如任何区块链浏览器 API)。

我的观点是,在大多数情况下,解决速率限制问题(例如通过缓存)比通过从头开始编写自己的平衡解析器来发明***更容易。

【讨论】:

好吧,我首先尝试使用区块链资源管理器 api,但在几分钟内我遇到了太多的请求问题(即使我的测试阶段已经太多了)。每个时间限制的通话量对我来说太少了。所以我需要在本地运行它......只有当我两次请求相同的信息时,缓存才有意义。可以这样做,但不能解决问题,因为大多数调用都是唯一的。 也许您的用例确实需要自定义 UXTO 计算器。在大多数情况下,您可能需要重新考虑您的方法,是否真的需要从应用程序发送这么多请求。用户不能通过 XHR/ajax 调用发送请求吗?您可以在一个请求中发送一批地址吗?等等......但是,我不知道您的用例,因此您可能必须使用原始区块链数据自行计算。

以上是关于比特币 RPC 获取钱包外地址余额的主要内容,如果未能解决你的问题,请参考以下文章

求教,比特币钱包怎么与php建立连接

用C#开发自己的比特币钱包

同一台主机部署两个比特币钱包以及rpc服务的摘要

确定比特币钱包地址是不是“有效”

bitpie有收款地址怎么查询

比特币隔离见证钱包地址计算