Как использовать мнемонику для восстановления моего кошелька ethereum

Я использую web3j для создания своего кошелька ethereum. Код такой же, как и вниз

import org.web3j.crypto.Bip39Wallet;
import org.web3j.crypto.Credentials;
import org.web3j.crypto.ECKeyPair;
import org.web3j.crypto.WalletUtils;

wallet = WalletUtils.generateBip39Wallet(password, new File(keystorePath));
// keystore's file name
String keystoreFileName = wallet.getFilename();
// my mnemonic
String mnemonic = wallet.getMnemonic();

Я могу использовать этот код, чтобы получить мой адрес

Credentials credentials = WalletUtils.loadBip39Credentials(password, mnemonic);
String address = credentials.getAddress();

Я могу импортировать свой кошелек следующим образом:

Credentials credentials = WalletUtils.loadBip39Credentials(password, mnemonic);

но таким образом мне нужен пароль и мнемоника, как я импортирую или восстанавливаю свой кошелек с помощью мнемоники без пароля, потому что какое-то приложение кошелька, такое как метамаска или imtoken, им не нужен старый пароль, который я создаю для своего кошелька, и я могу сбросить Новый пароль.

Другими словами, для восстановления или импорта кошелька просто нужна мнемоника, как я это делаю с помощью web3j.

Кто-нибудь может сказать мне, как это сделать с помощью web3j. Большое спасибо.


person chenhao597    schedule 31.08.2018    source источник


Ответы (1)


Вы можете просто передать пустую строку в качестве пароля:

// generate
wallet = WalletUtils.generateBip39Wallet("", tempDir);

// restore using WalletUtils
Credentials credentials = WalletUtils.loadBip39Credentials("", wallet.getMnemonic());

// or using constructor (and empty dummy file)
File tempFile = Files.createTempFile(null, null).toFile();
wallet = new Bip39Wallet(tempFile.getName(), wallet.getMnemonic());
person Yohanes Gultom    schedule 31.08.2018