Java 使用bitcoinj检查钱包余额
我正在尝试学习BitcoinJAPI,并在下面编写了测试代码。我在以下方面创建了一个帐户: 所以我可以使用假硬币并测试发送/接收。当我登录到URL时,我的帐户显示了14个假的BTC。然而,我下面的代码表明我有0枚硬币。有人能帮我理解我错过了什么吗?我使用了Java 使用bitcoinj检查钱包余额,java,bitcoin,bitcoinj,Java,Bitcoin,Bitcoinj,我正在尝试学习BitcoinJAPI,并在下面编写了测试代码。我在以下方面创建了一个帐户: 所以我可以使用假硬币并测试发送/接收。当我登录到URL时,我的帐户显示了14个假的BTC。然而,我下面的代码表明我有0枚硬币。有人能帮我理解我错过了什么吗?我使用了getBalance和getWatchedBalance,但运气不佳 public class CheckBalance { public static void main(String[] args) throws Excepti
getBalance
和getWatchedBalance
,但运气不佳
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);
}
}
分配ForwardingAddress后,您没有使用它。我猜这不是钱包里的公钥地址吧 要获得钱包中未包含的地址的余额,您可以执行以下操作:
kit.wallet()代码>
kit.setAutoSave(真)代码>
您可以创建一个普通钱包,添加钥匙,将其添加到PeerGroup和SPVBlockschain中,然后开始下载块以获取计算余额所需的信息。每当您向钱包添加钥匙时,如果钥匙比最后一块旧,则必须重新下载SPVBlockchain 在您的代码中,您检查的是钱包的余额(尚未包含任何地址),而不是您创建的地址的余额。您应该尝试将从web创建的地址的密钥导入您在本地创建的钱包,然后该地址的余额才会显示在您的钱包中。您可以使用
WalletAppKit kit = new WalletAppKit(params, new File("."), "walletappkit2");
System.out.println("you have got :" + MonetaryFormat.BTC.noCode().format(kit.wallet().getBalance()).toString());
如果您联系支持该API的人,您将获得更好的支持。