gettxoutsetinfo怎样统计UTXO? 图 1
gettxoutsetinfo怎样统计UTXO? · 图 1

gettxoutsetinfo 描述节点当前 UTXO 集合的统计与承诺。它回答“现有未花费输出怎样构成”,不是“可流通比特币有多少”:丢失密钥、时间锁、无人可花脚本等经济限制不会自动从 total_amount 扣除。

UTXO快照能说明什么

  1. 统计项分别代表什么:gettxoutsetinfo返回当前UTXO集合的交易数、输出数、总量与序列化哈希等统计。
  2. Hash Type 决定承诺与成本:不同hash_type或使用coinstatsindex会改变可用字段和计算方式,完整扫描可能耗时显著。
  3. 为什么不能直接当供应量:UTXO集合总量不是流通供应量或所有可花费资产的完整经济口径,丢失密钥与脚本限制不会从统计中自动扣除。

统计项分别代表什么

height 与 bestblock 固定快照位置,transactions 表示至少贡献一个 UTXO 的交易数,txouts 是未花费输出数量,total_amount 汇总其 BTC 数量。bogosize 或磁盘相关字段是实现估算,不等于序列化数据精确字节。

同高度跨节点复核统计

  1. 在同一节点记录 bestblock、height、hash_type 和 getindexinfo。
  2. 运行查询并保存原始整数与耗时,不在采集层做四舍五入。
  3. 在第二节点相同高度复取,比较 txouts、total_amount 与承诺字段。
  4. 做时间序列时只比较相同定义和版本;升级点单独标记。

Hash Type 决定承诺与成本

不同 Bitcoin Core 版本支持的 hash_type 会影响返回承诺和计算路径。传统全扫描会占用 I/O;启用 coinstatsindex 后可更快取得部分统计。调用方应保存 hash_type 和 index_used,不能把两种结果无条件拼接。

Hash Type不一致就别拼序列

索引状态、hash_type 或区块哈希无法固定时,不把结果加入长期趋势。

为什么不能直接当供应量

UTXO 中包含暂时锁定、脚本受限或密钥已丢失的输出;链外托管余额也只是这些 UTXO 的权属映射。经济供应需要额外假设,而 RPC 本身不提供“可流通”标签。

高度相同但Best Block不同时

若两节点高度相同但 bestblock 不同,先处理链分叉或同步差异,不比较 UTXO 统计。相同 height 不是同一状态的充分条件。

长期采样怎样避开链尖重组

长期序列必须固定采样时刻和确认深度,例如每天在已埋入若干确认的区块上采样,而不是总读易重组的 tip。版本升级、索引重建或 hash_type 变化要切分序列并写迁移说明。若需要估算 UTXO 集膨胀,应同时观察 txouts、磁盘占用和脚本类型抽样,不能用 total_amount 的涨跌替代状态规模。

gettxoutsetinfo口径来源

  1. Bitcoin Developer Reference:用于核对Bitcoin Core gettxoutsetinfo的候选主题的一手字段、产品说明或事件发现。
  2. Bitcoin RPC Index:用于核对Bitcoin Core gettxoutsetinfo的实现路径、交叉验证或风险边界。

相关站内主题:UTXO状态数值口径。资料访问时间为2026-07-22;协议、接口、监管清单与产品界面均可能更新。

风险提示:UTXO total_amount不是经济意义上的可流通供应量,丢失密钥和脚本限制不会自动扣除。跨版本或Hash Type拼接会破坏趋势可比性;任何供应量推论都必须另列假设,本文不构成市场分析。