Java 比特币钱包显示错误余额

Java 比特币钱包显示错误余额,java,bitcoin,bitcoinj,Java,Bitcoin,Bitcoinj,我对比特币越来越熟悉了。所以现在有一个用户首次注册的函数,应该为他创建一个地址。但它不起作用。上面说已经有一些钱了 // USER HAS NEVER USED COIN_ATLAS ( IT IS THE FIRST TIME ) public void addUser() { DBObject dbUser; WalletAppKit kit = new WalletAppKit(TestNet3Params.get(), new File("."), "forwardin

我对比特币越来越熟悉了。所以现在有一个用户首次注册的函数,应该为他创建一个地址。但它不起作用。上面说已经有一些钱了

// USER HAS NEVER USED COIN_ATLAS ( IT IS THE FIRST TIME )
public void addUser()
{
    DBObject dbUser;

    WalletAppKit kit = new WalletAppKit(TestNet3Params.get(), new File("."), "forwarding-service-testnet");
    params = TestNet3Params.get();

    Debug.Log("Wait a bit...");

    kit.startAsync();
    kit.awaitRunning();
    BlockChain chain = null;
    my_wallet = kit.wallet(); // Wallet created for that user

    try {
        chain = new BlockChain(params, my_wallet,
                new MemoryBlockStore(params));
    } catch (BlockStoreException e) {
        e.printStackTrace();
    }

    PeerGroup peerGroup = new PeerGroup(params, chain);
    peerGroup.addPeerDiscovery(new DnsDiscovery(params));
    peerGroup.addWallet(my_wallet);
    peerGroup.startAsync();

    Debug.Log("WALLET: " + my_wallet.currentReceiveAddress());
    Debug.Log("WALLET BALANCE: " + my_wallet.getBalance().toFriendlyString());

    my_wallet.addCoinsReceivedEventListener(new WalletCoinsReceivedEventListener() {
        @Override
        public void onCoinsReceived(Wallet wallet, Transaction transaction, Coin coin, Coin coin1) {
            send("NEW TRANSACTION:");
            sendWithMarkdown("FROM: " + wallet.currentReceiveAddress() + " : " + bold(coin1.toFriendlyString()));

            Coin value = transaction.getValueSentToMe(wallet);
            System.out.println("Received tx for " + value.toFriendlyString() + ": " + transaction);

            Futures.addCallback(transaction.getConfidence().getDepthFuture(1), new FutureCallback<TransactionConfidence>() {
                @Override
                public void onSuccess(@Nullable TransactionConfidence transactionConfidence) {
                    send(bold("Transaction confirmed!"));
                    send(bold(value.toFriendlyString() + " is deposited!"));
                }

                @Override
                public void onFailure(Throwable throwable) {

                }
            });
        }
    });

    peerGroup.downloadBlockChain();
    peerGroup.stopAsync();

    dbUser = new BasicDBObject("_id", bot_user.getId())
            .append("firstName", bot_user.getFirstName())
            .append("password", bot_user.getPassword())
            .append("address", my_wallet.currentReceiveAddress().toString())
            .append("BTC", (double)my_wallet.getBalance().getValue());


    collection.insert(dbUser);
}
但如果我在区块链中检查这个地址,它会显示0。
那么,如何以正确的方式创建钱包?

您可能不想给我们您的钱包ID。删除此问题您刚刚在公共论坛上透露此信息令人痛苦。为了您自己的利益,请删除此问题。比特币地址设计为公共地址;谷歌it,也可能是“公开密钥加密”的背景。另外,这个特定的地址在testnet上(如代码所示),它不使用真正的货币。但是可能有更多的人可以在bitcoin.stackexchange.com上帮助你解决这个问题——我想你可以要求一个mod迁移,如果不重新发布解释和链接的话。
WALLET: mtrjbnpq5wDzoywrKqod63tpB7ZUFrr7q5
WALLET BALANCE: 1.21503904 BTC