Estoy trabajando en mi biblioteca SPV y todavía me cuesta descifrar cómo abordar la combinación de filtros BIP32 + Bloom. Así es como sincronizo actualmente una billetera HD existente (después de una actualización rápida):
getdata
.Ahora bien, esto suena peculiar y demasiado complicado para mí. Varias discusiones en la web hablan sobre "escanear claves" cuando se trata de sincronización de billetera y realmente no entiendo si asumen un nodo completo o un nodo SPV liviano, porque no tengo idea de cómo "escanear claves" sin un global Base de datos de la UTXO. Además, el límite de la brecha solo parece tener sentido para un nodo completo.
Estoy atascado, gracias.
La razón por la que genera previamente algunas claves de reenvío es para evitar la situación que describe, si solo miró hacia adelante, corre el riesgo de perder una transacción en el bloque actual (el orden de las transacciones en el bloque no está relacionado con el orden de sus claves) .
El término "límite de brecha" se refiere a un parámetro de clientes SPV que no son de Bloomfilter y que consultan un índice basado en direcciones en un par remoto. El límite de la brecha es la parada final del estado actual de la billetera, cuando la billetera escaneada ve 10 resultados de direcciones vacías seguidas, deciden que esa es probablemente la última dirección utilizada en la billetera y dejan de generar más. Si no hubiera un límite de brecha, buscarían las direcciones no utilizadas hasta el final de los tiempos (o 2**128, lo que ocurriera primero).