我正在尝试使用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发布于 2021-01-16 18:37:11
你应该在startAsync之后使用downloadBlockChain
peerGroup.startAsync();
peerGroup.downloadBlockChain();发布于 2021-02-28 14:18:45
使用WalletAppKit类来处理所有样板文件:
WalletAppKit walletAppKit = WalletAppKit(params, ScriptType, FileDirectory)
walletAppKit.startAsync()
walletAppKit.awaitRunning()
walletAppKit.wallet().getBalance().toPlainString()https://stackoverflow.com/questions/65256516
复制相似问题