Преобразуйте мнемонику 12 слов в закрытый ключ в Ethereum - PullRequest
0 голосов
/ 30 апреля 2019

Я создаю приложение для Android, где пользователи могут входить в систему, используя свою учетную запись Ethereum, и совершать транзакции. Пока что пользователь может войти с помощью своего закрытого ключа. Я хочу добавить возможность использования 12 мнемонических слов для входа в систему.

Я могу сгенерировать начальное число (мнемонический + фраза-пароль), используя MnemonicUtils: https://github.com/web3j/web3j/blob/master/crypto/src/main/java/org/web3j/crypto/MnemonicUtils.java. Но как я могу сгенерировать закрытый ключ учетной записи из этого начального числа? Я уже пытался использовать приведенный ниже код, но он каждый раз генерирует отдельный закрытый ключ для одной и той же мнемоники.

String mnemonic="" //I put here my own mnemonic
ECKeyPair exKey= null;
        try {

               exKey = Keys.createEcKeyPair();
                } catch (InvalidAlgorithmParameterException e) {
                e.printStackTrace();
                } catch (NoSuchAlgorithmException e) {
                e.printStackTrace();
                } catch (NoSuchProviderException e) {
                e.printStackTrace();
                }

                WalletFile wallet=null;
                try {
                wallet = Wallet.createLight(mnemonic,exKey);
                } catch (CipherException e) {
                e.printStackTrace();
                }

                Credentials credentials = null;
                try {
                credentials = Credentials.create(Wallet.decrypt(mnemonic,wallet));
                } catch (CipherException e) {
                e.printStackTrace();
                }
String privateKeyGenerated = credentials.getEcKeyPair().getPrivateKey().toString(16);
                Log.d("PK", privateKeyGenerated);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...