BitcoinJ: баланс и транзакция не отображаются в кошельке после восстановления кошелька из MnemonicCode

Я создал кошелек с помощью WalletAppKit на Android и провел в нем транзакцию.

Теперь я пытаюсь восстановить этот кошелек из мнемонического кода (BIP39). Он также возвращает объект Wallet, но не содержит транзакций.

Вот ссылка https://bitcoinj.github.io/working-with-the-wallet#seeds-and-mnemonic-codes , в которой описывается работа с мнемоническим кодом и сидов.

Он также говорит: «Теперь синхронизируйте восстановленный кошелек, как описано ниже», но я так и не нашел способа его синхронизировать.

DeterministicSeed seed = wallet.getKeyChainSeed();
println("Seed words are: " + Joiner.on(" ").join(seed.getMnemonicCode()));
println("Seed birthday is: " + seed.getCreationTimeSeconds());

String seedCode = "yard impulse luxury drive today throw farm pepper survey wreck glass federal";
long creationtime = 1409478661L;
DeterministicSeed seed = new DeterministicSeed(seedCode, null, "", creationtime);
Wallet restoredWallet = Wallet.fromSeed(params, seed);
// now sync the restored wallet as described below.
Я нашел эту ссылку github.com/bitcoinj/bitcoinj/blob/master/examples/src/main/java/… . это занимает так много времени, но ничего не случилось.
Да, эта часть критична. Необходимо проанализировать все исторические транзакции, чтобы проверить, какие из них можно потратить с помощью HD-ключей, которые можно получить из вашего кошелька. Это займет некоторое время, поскольку включает в себя всю цепочку. Зарезервированный кошелек не знает, какие ключи или транзакции были получены ранее, поэтому он должен перебирать все индексы дочерних ключей, пока не найдет индекс, в котором предыдущий кошелек перестал генерировать дочерние ключи (разрыв в 20 неиспользуемых hd-ключей). . Для каждого дочернего ключа он будет получать хэш открытого ключа и искать его при анализе цепочки, чтобы определить, использовался ли он.

Ответы (1)

Я думаю, что этот пример может помочь вам, чтобы синхронизировать кошелек

https://github.com/bitcoinj/bitcoinj/blob/master/examples/src/main/java/org/bitcoinj/examples/RefreshWallet.java