比特币区块高度查询工具:一键导出任意地址余额CSV

比特币区块高度查询工具:一键导出任意地址余额CSV

为什么需要区块高度与余额批量导出

链上数据公开,却分散在区块、交易、输出三层结构里。手动翻浏览器,只能看到单地址当前余额,无法回溯某一高度的快照,更无法把几百个地址的余额一次性装进表格。做审计、对账、空投快照、税务申报的人,常被这一步卡住。把区块高度、地址、余额三栏对齐成CSV,是后续跑脚本、做透视、交报表的前提。

工具定位:只干两件事

第一,输入任意区块高度,工具立即回放当时状态,给出那一刻的UTXO集合;第二,粘贴一批地址,点击导出,三秒内生成标准CSV,列名固定为height,address,balance_sat,单位聪,不带千位分隔符,方便直接丢进Excel或Python pandas。

技术实现:本地节点+索引裁剪

团队跑的是自建Bitcoin Core,开了txindex=1,同时写了一个轻量中间层,把区块高度映射到disk上的blk*.dat偏移量。查询时,只加载该高度的UTXO哈希表,不 replay 全链,硬盘I/O压到最低。对外提供HTTPS接口,返回JSON,也提供/stream路径,流式输出CSV行,内存占用恒定在30 MB以内,哪怕一次查五万个地址也不会把浏览器卡死。

使用流程:四步零配置

1. 打开网页,唯一输入框里填区块高度,支持最新高度自动回显,也可手动改。2. 把地址粘到下方文本区,一行一个,支持P2PKH、P2SH、Bech32、Taproot四种格式混排,自动识别。3. 点“导出CSV”,浏览器立即下载。4. 打开表格,balance_sat列除以1e8,就是BTC数量,全程不用注册,不碰私钥,不请求额外权限

数据精度与一致性保证

工具读取的是本地节点回滚最少的确认块,高度一旦锁定,UTXO集合就冻结,不受重组影响。每一行余额都经过两次校验:第一次用gettxout接口拿未花费输出,第二次用自建索引重新累加,双通道数值必须相等才会写进CSV。若出现不匹配,接口直接报error,不会给脏数据。

速度实测

在千兆带宽、16线程服务器上,导出一千个地址,高度回退至六十万区间,CSV生成耗时1.8秒;五万个地址,耗时12.4秒,文件体积11 MB。浏览器端接收采用流式下载,用户无需等待全表生成即可开始保存,对网速低于50 Mbps的环境依旧友好。

隐私与合规

查询日志只保留高度与地址哈希,24小时后清库,不记录IP与User-Agent。对外接口加了频率限制:同一IP每十秒最多一次请求,超出返回429,防止批量爬取。源代码已放GitHub,供任何人编译验证,节点与脚本都可跑在完全离线的机器上,满足对隐私极端敏感的用户。

常见疑问

问:高度填错怎么办?答:重新输入正确高度再导一次即可,旧CSV自行覆盖。问:地址里有空格或Tab?答:前端自动过滤空白字符,无需手动清理。问:能否一次导出整个钱包的余额历史?答:目前只支持单高度快照,多高度需求可写脚本循环调用,高度步长自行控制,接口返回格式不变。

进阶玩法

把CSV拖进Google Sheets,用公式=SUMIF(A:A,选中高度,C:C)/1e8,可直接算出该高度下地址池总BTC。再配时间戳列,可画余额变化折线。开发者也可把接口嵌进Python,三行代码就能拉回整张表:

import requests,csv,io

r=requests.post(‘https://tool.example.com/stream’,json={‘height’:750000,’addresses’:[‘bc1…’]})

csv.reader(io.StringIO(r.text))

无需API Key,不限语言,零依赖

下载与更新通道

网页版永久免费,源码仓库每周同步Core最新稳定版,若节点升级导致字段变更,工具会在区块高度滞后超过二时自动暂停服务,前端给出提示,防止用户拿到错位数据。更新记录公开可见,确保任何时候导出的CSV都与链上真实状态一致

比特币链上数据没有撤回键,CSV里每一行都是那一刻的终局。工具把“查得到”变成“拿得走”,省下的时间拿去验证下一笔交易,或者干脆关掉电脑出门。链不会因为谁多看一眼而变慢,但操作的人可以轻松一点。

© 版权声明

相关文章