Merge branch 'feature/mnemonic' into develop

This commit is contained in:
Maran 2014-04-09 11:08:35 -04:00
commit 834e43622c
2 changed files with 15 additions and 3 deletions

@ -11,6 +11,7 @@ import (
"os" "os"
"os/signal" "os/signal"
"runtime" "runtime"
"strings"
) )
const Debug = true const Debug = true
@ -78,7 +79,17 @@ func main() {
} }
if r == "y" { 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) os.Exit(0)
} }
} else { } else {

@ -12,6 +12,7 @@ func CreateKeyPair(force bool) {
pub, prv := secp256k1.GenerateKeyPair() pub, prv := secp256k1.GenerateKeyPair()
pair := &ethutil.Key{PrivateKey: prv, PublicKey: pub} pair := &ethutil.Key{PrivateKey: prv, PublicKey: pub}
ethutil.Config.Db.Put([]byte("KeyRing"), pair.RlpEncode()) ethutil.Config.Db.Put([]byte("KeyRing"), pair.RlpEncode())
mne := ethutil.MnemonicEncode(ethutil.Hex(prv))
fmt.Printf(` fmt.Printf(`
Generating new address and keypair. Generating new address and keypair.
@ -22,8 +23,8 @@ addr: %x
prvk: %x prvk: %x
pubk: %x pubk: %x
++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++
save these words so you can restore your account later: %s
`, pair.Address(), prv, pub) `, pair.Address(), prv, pub, mne)
} }
} }