区块链 · 数字资产知识 · 行业资讯
文章库关于本站

研究与报告

区块链UTXO统计怎样整理成表|区块快照、可选字段与缺失值分别记录

摘要

同样来自UTXO统计接口的两份记录,字段不齐全未必是采集失败。以Bitcoin Core 28.0的公开说明为例,先确定统计对应区块,再区分计数对象和索引条件,最后检查导入网页的数值类型。

utxo区块链模型的科技主题配图

先给统计记录保留一个明确的区块位置

整理区块链UTXO统计时,不能只复制一个数量到表格中。Bitcoin Core 28.0的gettxoutsetinfo文档给出height和bestblock:前者说明统计区块高度,后者是计算这些统计时对应的区块哈希。两项与数量一起保存,读者才能知道这条记录属于哪个区块状态。

本文建议把方法名、软件版本、原始响应和取得记录的时间同时归档。这里的时间是资料取得时间,不拿它替代区块标识;文章使用的是指定版本的接口说明,没有连接节点,也没有给出今天的全网数量。不同来源的两行数字,应先对齐统计背景再考虑比较。

相近的字段名称可能在数不同对象

文档中的txouts表示未花费交易输出数量,而transactions表示拥有未花费输出的交易数量。它们不是同一个计数对象,也不能简单把列名都翻译成交易笔数。整理数据字典时,可以分别写成“输出条数”和“含未花费输出的交易数”,保留英文原字段便于回查。

假设一份教学清单只有甲、乙两笔交易,甲保留两个未花费输出,乙保留一个,那么这份清单有三个输出、两笔相关交易。这个人为构造的例子只说明对象区别,不是节点实测,也不用于推算用户人数、交易热度或资金流入。

区块链链上数据的科技主题配图

可选字段未出现时不要自行补成零

这份版本文档明确说明:使用coinstatsindex时,transactions和disk_size不可用;block_info则仅在使用该索引时可用。因此,两次记录出现不同字段集合,先核对索引使用条件,而不是立即认定某一项从有值下降到了零。参数use_index默认允许使用可用索引,也不代表任何节点实际都建好了该索引。

在研究表中可以把“文档条件下不返回”“原始记录缺失”和“实际返回数值零”分开标注,再附上原记录位置。这是本文提出的整理方法,不是接口额外返回的三个状态。没有拿到完整响应时,保留缺失原因待核查,避免图表自动补零后制造不存在的断崖。

导入网页时还要检查计数的类型

对预期为整数的计数字段,网页整理程序可以先检查类型和可表示范围。MDN说明Number.isSafeInteger只在输入本身是安全整数数值时返回true,字符串“3”、非整数和无穷值都不会通过;它不是自动清洗文本的工具。即使数值通过,业务上是否允许负数也需另行判断。

建议保留原始记录后再处理明确约定的类型转换;未知值不要先转换为零再检测。安全整数检查只能回答表示问题,不能证明统计来源可信、字段完整或链状态一致,也不表示当前UTXO数量已经超过精度边界。完成这些记录后,表格才具备被复核的条件,而不是因此获得任何行情预测能力。

← 返回全部文章

延伸阅读 · 相关栏目

行业资讯研究与报告政策资料交易平台观察