From 2edf133b4671287e58c1f8cdb22f0cd342f309f2 Mon Sep 17 00:00:00 2001 From: Maran Date: Mon, 7 Apr 2014 13:59:42 +0200 Subject: [PATCH 1/2] Added mnemonic priv key --- utils/keys.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/utils/keys.go b/utils/keys.go index 910c8c477..2f39c10b2 100644 --- a/utils/keys.go +++ b/utils/keys.go @@ -12,6 +12,7 @@ func CreateKeyPair(force bool) { pub, prv := secp256k1.GenerateKeyPair() pair := ðutil.Key{PrivateKey: prv, PublicKey: pub} ethutil.Config.Db.Put([]byte("KeyRing"), pair.RlpEncode()) + mne := ethutil.MnemonicEncode(ethutil.Hex(prv)) fmt.Printf(` Generating new address and keypair. @@ -22,8 +23,8 @@ addr: %x prvk: %x pubk: %x ++++++++++++++++++++++++++++++++++++++++++++ - -`, pair.Address(), prv, pub) +save these words so you can restore your account later: %s +`, pair.Address(), prv, pub, mne) } } From cc5501b12f1b4f2297344d85f4d7f8c95b36fc34 Mon Sep 17 00:00:00 2001 From: Maran Date: Wed, 9 Apr 2014 10:29:52 -0400 Subject: [PATCH 2/2] Importing mnemonic support --- ethereum/ethereum.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ethereum/ethereum.go b/ethereum/ethereum.go index c82e7dcd8..e1e803771 100644 --- a/ethereum/ethereum.go +++ b/ethereum/ethereum.go @@ -11,6 +11,7 @@ import ( "os" "os/signal" "runtime" + "strings" ) const Debug = true @@ -78,7 +79,17 @@ func main() { } if r == "y" { - utils.ImportPrivateKey(ImportKey) + mnemonic := strings.Split(ImportKey, " ") + if len(mnemonic) == 24 { + fmt.Println("Got mnemonic key, importing.") + key := ethutil.MnemonicDecode(mnemonic) + utils.ImportPrivateKey(key) + } else if len(mnemonic) == 1 { + fmt.Println("Got hex key, importing.") + utils.ImportPrivateKey(ImportKey) + } else { + fmt.Println("Did not recognise format, exiting.") + } os.Exit(0) } } else {