主页 > imtoken钱包地址 > 比特币钱包-btcwallet(四)账户余额统计

比特币钱包-btcwallet(四)账户余额统计

imtoken钱包地址 2023-09-13 05:10:42

本文将讲解账户余额的统计。

1 getbalance账户级余额统计的骨干流程

// zp 为账户名
btcctl --simnet --rpcuser=rpcuser --rpcpass=rpcpass --wallet getbalance zp

核心流程是#L435

var account uint32
    // 根据账户名获取当前钱包,BIP44格式下的accountnumber
        account, err = w.AccountNumber(waddrmgr.KeyScopeBIP0044, accountName)
        if err != nil {
            return nil, err
        }
// 根据account number获取余额。
        bals, err := w.CalculateAccountBalances(account, int32(*cmd.MinConf))
        if err != nil {
            return nil, err
        }
        balance = bals.Spendable
    }
// 返回BTC格式的余额。
    return balance.ToBTC(), nil

CalculateAccountBalances的核心流程是

比特币余额图片_外国的比特币便宜中国的比特币贵为什么?_如何查询比特币余额

计算账户余额.png

2 获取所有UTXO的逻辑:

(1) 从未消费的桶中获取未消费的输出

(2) 从已打包但未包含的桶中获取未消费的输出。

3 参考资料

btcwallet 源代码 btcwallet 版本 0.7.0-alpha

4 其他

本文是《比特币步步为营》的第十篇——《btcwallet(四)账户余额统计》。

有什么问题可以直接留言如何查询比特币余额如何查询比特币余额,也可以关注公众号“chainerup”提问留言,或者加入知识星球“chainerup”~