gpt4 book ai didi

java - 使用 bitcoinj 检查钱包余额

转载 作者:行者123 更新时间:2023-11-29 03:23:42 27 4
gpt4 key购买 nike

我正在尝试学习 bitcoinj API,并在下面编写了测试代码。我创建了一个帐户:

http://tpfaucet.appspot.com/

所以我可以使用假硬币并测试发送/接收。当我登录 URL 时,我的帐户显示了 14 个假 BTC。但是,我下面的代码表明我有 0 个硬币。有人可以帮助我了解我错过了什么吗?我同时使用了 getBalancegetWatchedBalance 但没有成功。

public class CheckBalance {

public static void main(String[] args) throws Exception {
// This line makes the log output more compact and easily read, especially when using the JDK log adapter.
BriefLogFormatter.init();
// Figure out which network we should connect to. Each one gets its own set of files.
final NetworkParameters params = TestNet3Params.get();
final String filePrefix = "forwarding-service-testnet";
// Parse the address given as the first parameter.
final Address forwardingAddress = new Address(params, "bogusHash"); //note, I replace bogusHash when I really run
// Start up a basic app using a class that automates some boilerplate.
final WalletAppKit kit = new WalletAppKit(params, new File("."), filePrefix);
// Download the block chain and wait until it's done.
kit.startAndWait();
System.out.println("You have : " +kit.wallet().getWatchedBalance() + " bitcoins");
System.exit(0);
}

}

最佳答案

分配后您没有使用 forwardingAdress。我想这不是那个钱包中公钥的地址?

要获取(尚未)在电子钱包中的地址的余额,您可以执行以下操作:

  1. 找到地址的公钥。例如,对于 MainNet 地址的此服务:https://www.biteasy.com/blockchain/addresses/1CjgioGLRpLyEiFSsLpYdEKfaFjWg3ZWSS
  2. 将此公钥添加到钱包:kit.wallet().addKey(new ECKey(null, Hex.decode("0210fdade86b268597e9aa4f2adc314fe459837be831aeb532f04b32c160b4e50a")));
  3. 将钱包置于自动保存模式kit.setAutoSave(true);
  4. 运行这个

现在您有了想要知道钱包余额的公钥。删除区 block 链文件:forwarding-service-testnet.spvchain

您的钱包中有一个没有创建日期的公钥,区 block 链下载将花费更长的时间。但最终你应该看到一个适当的平衡。

WalletAppKit 并不意味着检查它没有生成或稍后添加的 key 对的余额。这就是为什么这应该更复杂的原因。

您可以创建一个普通钱包,添加 key ,将其添加到 PeerGroup 和 SPVBlockschain,然后开始下载 block 以获取计算余额所需的信息。每当您将 key 添加到钱包时,如果 key 早于最后一个 block ,则必须重新下载 SPVBlockchain。

关于java - 使用 bitcoinj 检查钱包余额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22186273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com