Liskで使用していたパスフレーズからEthereumのアドレスとか取得してみる
こんにちは万博おじです。
LiskのL2移行まで2週間切りましたね。
Liskホルダーの皆さん、MetaMaskなどのEthereumウォレットの準備できてますか?
Ethereum用のアドレスやプライベートキーを取得
お手製ツールを起動
パスフレーズを入力
Enterを押すとアドレスなどが表示
本題終わり!
使用したツール
GoogleDrive:lisknonanika - lisk2ethereum.zip
使い方
任意の場所にダウンロードしてzipファイルを展開
展開されたフォルダ内にある lisk2ethereum.bat をダブルクリック
パスフレーズの入力を求められたらパスフレーズを入力してEnter
終了確認でYと入力してEnterで終了、Nと入力してEnterで続行
補足1
ツールのソース(めっちゃ手抜き)
lisk2ethereum.bat
ECHO OFF
CD ./src/
:EXEC_PROC
node ./index.js
SET INSTR=
SET /P INSTR="終了しますか? (Y/n): "
IF "%INSTR%"=="n" GOTO :EXEC_PROC
IF "%INSTR%"=="N" GOTO :EXEC_PROC
src/index.js
const bip39 = require('bip39');
const ethereumjs = require('ethereumjs-wallet');
const readline = require('readline').createInterface({ input: process.stdin, output: process.stdout });
readline.question('パスフレーズを入力してください: ', (mnemonic) => {
try {
if (!mnemonic || !bip39.validateMnemonic(mnemonic)) {
console.log('ERROR: パスフレーズがが不正です');
return;
}
const wallet = ethereumjs.hdkey.fromMasterSeed(bip39.mnemonicToSeedSync(mnemonic)).derivePath("m/44'/60'/0'/0/0").getWallet();
console.log({
Address: `0x${wallet.getAddress().toString('hex')}`,
PrivateKey: `0x${wallet.privateKey.toString('hex')}`,
RecoveryPhrase: mnemonic
});
} finally {
readline.close();
}
});
補足2
MetaMaskにアカウントを追加 - 新規
既存のウォレットをインポートをクリック
MetaMaskの改善は協力しなくてもいい
リカバリーフレーズ(Liskのパスフレーズ)を入力
あとは画面に従って進めばOK
MetaMaskにアカウントを追加 - 追加
アカウント名(赤枠部分)をクリック
Add account or ~ をクリック
アカウントをインポートをクリック
秘密鍵(プライベートキー)を入力
あとは画面に従って進めばOK
おしまい
おしまい
基本的にはLiskのパスフレーズを使わずに1から新規で作るのがいいと思いますが、思い入れがある人はEthereumウォレットのリカバリーフレーズとしてLiskで使用していたパスフレーズを使ってみるのもいいかもしれません。
なお、Liskのパスフレーズと書いてますが、LiskのパスフレーズがBIP39に則ってるので使えるというだけで、Lisk限定のもんでもありません。