BitcoinJ: el saldo y la transacción no se muestran en la billetera después de restaurar la billetera desde MnemonicCode

Creé una billetera con la ayuda de WalletAppKit en Android e hice algunas transacciones en ella.

Ahora lo que trato de hacer es restaurar esa billetera desde el código mnemotécnico (BIP39). También devuelve el objeto Wallet pero no contiene las transacciones.

Aquí está el enlace ref https://bitcoinj.github.io/working-with-the-wallet#seeds-and-mnemonic-codes que describe el trabajo con código mnemotécnico y semillas.

También dice "ahora sincronice la billetera restaurada como se describe a continuación", pero nunca encontré ninguna forma de sincronizarla.

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.
Encontré este enlace github.com/bitcoinj/bitcoinj/blob/master/examples/src/main/java/… . toma tanto tiempo pero nada pasa.
Sí, esa parte es crítica. Necesita analizar todas las transacciones históricas para verificar cuáles se pueden gastar con claves HD que se derivan de su billetera. Esto tomará un tiempo ya que incluye toda la cadena. La billetera respaldada no sabe qué claves o transacciones se recibieron previamente, por lo que debe iterar a través de todos los índices de claves secundarias, hasta que encuentre el índice donde la billetera anterior dejó de generar claves secundarias (un espacio de 20 claves hd no utilizadas) . Para cada clave secundaria, derivará el hash de la clave pública y los buscará mientras analiza la cadena para determinar si se usó.

Respuestas (1)