Trust WalletからMetaMaskへインポートする方法

どうもこんにちは。Tyndall effect(チンダル現象)と言います。

皆さんは、暗号通貨でどのウォレットを使っていますか?
私は、Trust WalletとMetaMaskの2つをメインに使っています。

先日、とある件で、Trust WalletのアカウントをMetamaskへインポートする必要がありました。

ですが、Trust Walletはニーモニック(リカバリーフレーズ)でしかエクスポートできず、逆にMetaMaskは、秘密鍵かJSONファイルでしかインポート出来ないんですよね。

その時に少し困ったので、アカウント移行のやり方を備忘録的に書いておこうかと思います。ちなみに、このやり方はGithubのライブラリを利用するので、そういったことの多少の知識や環境(Linuxなど)が必要です。


Trust Walletからリカバリーフレーズをエクスポート

①Trust Walletのアプリを開き、「設定」→「ウォレット」をタップ

②エクスポートしたいウォレットアカウントの「⋮」をタップ

③「リカバリーフレーズを表示する」をタップ

④リカバリーフレーズをメモする


リカバリーフレーズから秘密鍵を取得

①Linuxなどの環境で、ターミナルから以下のリポジトリをクローンする

$ git clone https://github.com/justinchou/ethereum-mnemonic-privatekey-utils.git

②「ethereum-mnemonic-privatekey-utils」にディレクトリ移動する

$ cd /ethereum-mnemonic-privatekey-utils

③パッケージを復元する

$ npm install

※npmがインストールされていない場合は、apt-getコマンドなどでインストールしておく
$ apt-get install npm

④ディレクトリ内にあるdemo.jsの[mnemonic]の内容を、Trust Walletのリカバリーフレーズに編集する

const pkutils = require('./index');

pkutils.debug = false;

const mnemonic = 'ここにTrust Walletのリカバリーフレーズを入力する';
const password = 'this is a totally long password';

console.log('mnemonic               : %s', mnemonic);
console.log('password               : %s', password);

const privateKeyGen = pkutils.getPrivateKeyFromMnemonic(mnemonic);
console.log('pkey from mnemonic     : 0x%s', privateKeyGen);

const keystore = pkutils.getKeystoreFromPrivateKey(privateKeyGen, password);
console.log('\nkey store              : %j\n', keystore);

const privateKeyParsed = pkutils.getPrivateKeyFromKeystore(keystore, password);
console.log('pkey from keystore     : 0x%s', privateKeyParsed);

const account = keystore.address;
console.log('account address        : 0x%s', account);

⑤demo.jsを実行する

$ node demo.js

表示されるpkey from mnemonicの内容が秘密鍵となります。

秘密鍵をMetaMaskへインポート

①MetaMask(PC)にログインし、「アカウントのインポート」をクリック

②形式の選択を「秘密鍵」にして、取得した秘密鍵を入力して「インポート」をクリック

これでTrust WalletからMetaMaskへインポートは完了です。


なおニーモニックから秘密鍵の取得に関しては、以下の記事を参考にさせて頂きました。

https://qiita.com/DENEN_YOSHIDA/items/a65fb6c280e8efd03ab3

この記事が気に入ったらサポートをしてみませんか?