【问题标题】:getting wallet balance using BitcoinJ使用 BitcoinJ 获取钱包余额
【发布时间】:2021-03-23 04:10:39
【问题描述】:

我正在尝试使用 BitcoinJ 获取钱包余额,这是我正在尝试的代码,但它总是返回 0

BriefLogFormatter.init();
    NetworkParameters params ;
    String net = "testnet"; //choosing network
    if (net.equals("testnet")) {params = TestNet3Params.get();
    } else if (net.equals("regtest")) {params = RegTestParams.get();
    } else {params = MainNetParams.get();}

    String privKey = "key-here";
     BigInteger test = new BigInteger(privKey);
    ECKey key = ECKey.fromPrivate(test);//initializing key
     Wallet wallet = new Wallet(params);
     wallet.importKey(key); //puting key in wallet

     BlockStore blockStore = new MemoryBlockStore(params);
     BlockChain chain = new BlockChain(params, wallet, blockStore);
     PeerGroup peerGroup = new PeerGroup(params, chain);
     peerGroup.addWallet(wallet);
     peerGroup.startAsync(); //syncing with the blockchain

     
    System.out.println( wallet.getBalance().toString());//getting balance

【问题讨论】:

    标签: java bitcoin bitcoinj


    【解决方案1】:

    使用WalletAppKit 类来处理所有样板:

    WalletAppKit walletAppKit = WalletAppKit(params, ScriptType, FileDirectory)
    
    walletAppKit.startAsync()
    walletAppKit.awaitRunning()
    walletAppKit.wallet().getBalance().toPlainString()
    

    【讨论】:

      【解决方案2】:

      你应该在startAsync之后下载BlockChain

      peerGroup.startAsync();
      peerGroup.downloadBlockChain();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-02
        • 1970-01-01
        • 2019-10-11
        • 2021-08-31
        相关资源
        最近更新 更多