
先给统计记录保留一个明确的区块位置
整理区块链UTXO统计时,不能只复制一个数量到表格中。Bitcoin Core 28.0的gettxoutsetinfo文档给出height和bestblock:前者说明统计区块高度,后者是计算这些统计时对应的区块哈希。两项与数量一起保存,读者才能知道这条记录属于哪个区块状态。
本文建议把方法名、软件版本、原始响应和取得记录的时间同时归档。这里的时间是资料取得时间,不拿它替代区块标识;文章使用的是指定版本的接口说明,没有连接节点,也没有给出今天的全网数量。不同来源的两行数字,应先对齐统计背景再考虑比较。
相近的字段名称可能在数不同对象
文档中的txouts表示未花费交易输出数量,而transactions表示拥有未花费输出的交易数量。它们不是同一个计数对象,也不能简单把列名都翻译成交易笔数。整理数据字典时,可以分别写成“输出条数”和“含未花费输出的交易数”,保留英文原字段便于回查。
假设一份教学清单只有甲、乙两笔交易,甲保留两个未花费输出,乙保留一个,那么这份清单有三个输出、两笔相关交易。这个人为构造的例子只说明对象区别,不是节点实测,也不用于推算用户人数、交易热度或资金流入。

可选字段未出现时不要自行补成零
这份版本文档明确说明:使用coinstatsindex时,transactions和disk_size不可用;block_info则仅在使用该索引时可用。因此,两次记录出现不同字段集合,先核对索引使用条件,而不是立即认定某一项从有值下降到了零。参数use_index默认允许使用可用索引,也不代表任何节点实际都建好了该索引。
在研究表中可以把“文档条件下不返回”“原始记录缺失”和“实际返回数值零”分开标注,再附上原记录位置。这是本文提出的整理方法,不是接口额外返回的三个状态。没有拿到完整响应时,保留缺失原因待核查,避免图表自动补零后制造不存在的断崖。
导入网页时还要检查计数的类型
对预期为整数的计数字段,网页整理程序可以先检查类型和可表示范围。MDN说明Number.isSafeInteger只在输入本身是安全整数数值时返回true,字符串“3”、非整数和无穷值都不会通过;它不是自动清洗文本的工具。即使数值通过,业务上是否允许负数也需另行判断。
建议保留原始记录后再处理明确约定的类型转换;未知值不要先转换为零再检测。安全整数检查只能回答表示问题,不能证明统计来源可信、字段完整或链状态一致,也不表示当前UTXO数量已经超过精度边界。完成这些记录后,表格才具备被复核的条件,而不是因此获得任何行情预测能力。