[Desarrollo de billetera ETH 02] Importar billetera
Según el mnemotécnico, no se requiere la contraseña original para importar la billetera y la contraseña se puede restablecer. La verificación se realiza en función de la frase mnemotécnica ingresada por el usuario, que coincide (formato, número, etc.), y luego se regenera una nueva billetera usando la contraseña ingresada por el usuario.
Verificar el cumplimiento de mnemónicos (formatos, números, etc.). )
Introducir un mnemotécnico en una billetera
Importar una billetera a través de una clave privada es básicamente lo mismo que crear una billetera. Debido a que la clave privada se convierte a 16 al exportar, debe convertirse en una matriz de bytes al importar.
Keystore es un archivo de billetera, que en realidad es una cadena json de información de billetera. Debe ingresar una contraseña para importar el almacén de claves. Esta contraseña es la contraseña que utiliza cuando finalmente exporta el almacén de claves. Convierta la cadena del almacén de claves en una instancia de walletFile y pásela a través de Wallet. Descifrar (contraseña, archivo de billetera); si el descifrado se realiza correctamente, se puede importar; de lo contrario, no se puede importar.
Esta es la API de Web3j, ¡y los programas a menudo OOM aquí!
No entraré en detalles sobre los motivos específicos. Puedes leer los detalles aquí.
/p/41d4a38754a3
Solución
Modificar el método de descifrado según el código fuente. Aquí utilizo una biblioteca de terceros modificada.
Método de descifrado mejorado
Importar Kestore
1. Importe la clave mnemónica y privada. No hay contraseña anterior, pero vuelva a ingresar la nueva contraseña; el almacén de claves de contraseña requiere una contraseña previa. Si la contraseña es incorrecta, se le indicará que la dirección y la clave privada no coinciden.
2. Acerca de los mnemotécnicos de respaldo
Los estudiantes que han usado imtoken pueden ver que imtoken puede exportar (respaldo) mnemotécnicos. Al principio estaba confundido, pero luego supe que cuando realmente creó la billetera, guardó el mnemónico localmente en la aplicación y la exportación solo habla de leer los datos. Otro punto es que una vez que imtoken realiza una copia de seguridad del mnemónico, no hay ninguna función para realizar una copia de seguridad de esa función, lo que significa que el mnemónico se ha eliminado en el almacenamiento local y la billetera importada no tiene la función para realizar una copia de seguridad del mnemónico.