You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Bitcoinj获取含Pending交易的钱包预估余额

获取Bitcoinj 0.14钱包预估余额(含Pending交易)

没问题,我来帮你搞定这个需求。在bitcoinj 0.14里,Wallet.BalanceType.ESTIMATED就是专门用来获取包含Pending状态交易的预估余额的类型,刚好匹配你要的效果。

结合你现有的gbal()方法,修改后的代码可以这样写:

public static String gbal() {
    // 先确认kit和钱包已初始化,避免空指针异常
    if (MainPage.ModeStatus == true && kit != null && kit.wallet() != null) {
        // 使用ESTIMATED类型获取包含pending交易的预估余额
        Coin estimatedBalance = kit.wallet().getBalance(Wallet.BalanceType.ESTIMATED);
        // 转换成易读的BTC格式字符串,比如"0.00123456 BTC"
        return estimatedBalance.toFriendlyString();
    } else {
        // 处理未初始化或状态异常的情况
        return "0.0 BTC";
    }
}

关键代码说明:

  • Wallet.BalanceType.ESTIMATED:这个类型会计算所有已确认的余额,加上未确认的入账交易,同时扣除已发起但未确认的出账交易,完美覆盖你需要的pending交易场景。
  • kit.wallet().getBalance(...):传入指定的BalanceType参数,返回对应的Coin对象——这是bitcoinj中处理比特币金额的核心类,能精准处理聪和BTC的进制转换。
  • toFriendlyString():把Coin对象转换成用户易读的字符串,自动完成聪到BTC的换算,不用手动计算1e8的进制关系。

如果需要更精细的余额拆分(比如单独查看未确认收入/支出),还可以搭配Wallet.getUnconfirmedBalance()或者BalanceType.AVAILABLE(仅已确认余额)使用,但你的核心需求用ESTIMATED就完全足够了。

内容的提问来源于stack exchange,提问作者BTCDude

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:12:50