Как использовать мнемонику для восстановления моего бумажника Эфириума - PullRequest
0 голосов
/ 31 августа 2018

Я использую 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);

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

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

Действительно ли ereryone может сказать мне, как это сделать с помощью web3j.Спасибо большое.

1 Ответ

0 голосов
/ 31 августа 2018

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

// 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());
...