Ich habe ein Konto mit Metamask erstellt - es gibt eine Sicherungsphrase mit 12 Wörtern.
Ich möchte dieses Konto in Ethereum Wallet importieren.
Ich glaube, dass ich dazu eine keystore
Datei in ein spezielles Verzeichnis legen muss.
Was ist der einfachere / bequemste Weg, um 12-Wörter-Mnemonik-Phrasen in umzuwandeln keystore
?
Etwas Google-Suche: https://www.reddit.com/r/ethereum/comments/5zzwh0/can_mnemonics_currently_be_used_to_create_a_utf/
Es wäre schön, eine Krypto-Testsuite zu haben, die es Leuten wie mir ermöglicht, mit den Schlüsseln zu experimentieren / sie besser zu verstehen / zu spielen.
Verwandt: Metamask-Konto in JSON-Datei exportieren
Es muss ein besserer Weg sein, aber hier ist, wie ich es gemacht habe.
Zunächst ist es wichtig zu verstehen, dass die mnemonische Phrase verwendet werden kann, um eine unendliche Anzahl privater Schlüssel zu generieren, und das JSON-Keystore-Format speichert nur einen privaten Schlüssel. Das bedeutet, dass Sie für jeden privaten Schlüssel, den Sie in die Ethereum Wallet importieren möchten, das folgende Verfahren durchführen müssen.
Zuerst müssen Sie den privaten Schlüssel für eine bestimmte Adresse finden:
Jetzt, da Sie den privaten Schlüssel haben, müssen Sie ihn in die JSON Keystore-Datei umwandeln. Sie können dies mit geth tun, aber in meinem Fall habe ich eine Javascript-Bibliothek namens ethereumjs-wallet wie folgt verwendet:
const fs = require("fs")
const wallet = require("ethereumjs-wallet")
const pk = new Buffer.from('c87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3', 'hex') // replace by correct private key
const account = wallet.fromPrivateKey(pk)
const password = 'something' // will be required to unlock/sign after importing to a wallet like MyEtherWallet
const json = JSON.stringify(account.toV3(password))
// writes to a file
const address = account.getAddress().toString('hex')
const file = `UTC--${new Date().toISOString().replace(/[:]/g, '-')}--${address}`
fs.writeFileSync(file, content)
Um schließlich in Ethereum Wallet zu importieren, kopieren Sie die Datei in das Keystore-Verzeichnis und starten Sie das Wallet neu. In macOS befindet es sich unter /Users//Library/Ethereum//keystore
Hoffe jemand hat da draußen eine bessere Alternative.
DanF