Verbinden Sie die Watching Wallet mit der Blockchain

Ich habe Watch Wallet erstellt.
Wallet wallet = Wallet.fromWatchingKeyB58(params, tPub, DeterministicHierarchy.BIP32_STANDARDISATION_TIME_SECS);Wie kann ich dies mit der Blockkette verknüpfen? Ich verwende die WalletAppKit-Klasse

kit = new WalletAppKit(params, walletFile, APP_NAME);
kit.startAsync(); kit.awaitRunning();

Danach füge ich eine Brieftasche in der PeerGroup hinzu, kit.peerGroup().addWallet(wallet)danach drucke ich die Adresse einer Brieftasche, System.out.println(kit.wallet().currentReceiveAddress());aber diese Adresse und System.out.println(wallet.currentReceiveAddress());diese sind nicht gleich. Ich verwende dafür BitcoinJ, ich habe mehrere Transaktionen gesendet, wallet.currentReceiveAddress()aber keine davon erhalten, ich weiß nicht, was ich hier falsch mache, bitte helfen Sie!

Antworten (1)

Ich habe dies getan, indem ich Methoden von WalletAppkit überschrieben habe und es funktioniert jetzt gut, hier ist ein Codebeispiel dafür.

  kit = new WalletAppKit(params, walletFile, APP_NAME) {
            @Override
            protected Wallet createWallet() {
                System.out.println("I am here");
                Wallet wallet = Wallet.fromWatchingKeyB58(params, tPub, DeterministicHierarchy.BIP32_STANDARDISATION_TIME_SECS);
                return wallet;
            }
@Override
        protected void onSetupCompleted() {
            super.onSetupCompleted();
            System.out.println(kit.wallet().currentReceiveAddress());
            System.out.println(kit.wallet().getTotalReceived().toFriendlyString());
            txHistory();

            kit.wallet().addEventListener(new AbstractWalletEventListener() {
                @Override
                public void onWalletChanged(Wallet wallet) {
                    System.out.println(kit.wallet().getTotalReceived());
                }
            });
        }