mirror of https://github.com/ethereum/go-ethereum
commit
5e02d2b586
@ -1,46 +0,0 @@ |
|||||||
package ethui |
|
||||||
|
|
||||||
import ( |
|
||||||
"fmt" |
|
||||||
"github.com/ethereum/eth-go/ethchain" |
|
||||||
"github.com/ethereum/eth-go/ethutil" |
|
||||||
"github.com/ethereum/go-ethereum/utils" |
|
||||||
"github.com/obscuren/secp256k1-go" |
|
||||||
"strings" |
|
||||||
) |
|
||||||
|
|
||||||
type EthLib struct { |
|
||||||
stateManager *ethchain.StateManager |
|
||||||
blockChain *ethchain.BlockChain |
|
||||||
txPool *ethchain.TxPool |
|
||||||
Db *Debugger |
|
||||||
} |
|
||||||
|
|
||||||
func (lib *EthLib) ImportAndSetPrivKey(privKey string) bool { |
|
||||||
fmt.Println(privKey) |
|
||||||
mnemonic := strings.Split(privKey, " ") |
|
||||||
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(privKey) |
|
||||||
} else { |
|
||||||
fmt.Println("Did not recognise format, exiting.") |
|
||||||
return false |
|
||||||
} |
|
||||||
return true |
|
||||||
} |
|
||||||
|
|
||||||
func (lib *EthLib) CreateAndSetPrivKey() (string, string, string, string) { |
|
||||||
_, prv := secp256k1.GenerateKeyPair() |
|
||||||
keyPair, err := ethutil.GetKeyRing().NewKeyPair(prv) |
|
||||||
if err != nil { |
|
||||||
panic(err) |
|
||||||
} |
|
||||||
|
|
||||||
mne := ethutil.MnemonicEncode(ethutil.Hex(keyPair.PrivateKey)) |
|
||||||
mnemonicString := strings.Join(mne, " ") |
|
||||||
return mnemonicString, fmt.Sprintf("%x", keyPair.Address()), ethutil.Hex(keyPair.PrivateKey), ethutil.Hex(keyPair.PublicKey) |
|
||||||
} |
|
@ -1,108 +0,0 @@ |
|||||||
package utils |
|
||||||
|
|
||||||
import ( |
|
||||||
"fmt" |
|
||||||
"github.com/ethereum/eth-go/ethutil" |
|
||||||
"github.com/obscuren/secp256k1-go" |
|
||||||
) |
|
||||||
|
|
||||||
func CreateKeyPair(force bool) { |
|
||||||
if force { |
|
||||||
ethutil.GetKeyRing().Reset() |
|
||||||
fmt.Println("resetting") |
|
||||||
} |
|
||||||
|
|
||||||
if ethutil.GetKeyRing().Get(0) == nil { |
|
||||||
_, prv := secp256k1.GenerateKeyPair() |
|
||||||
|
|
||||||
keyPair, err := ethutil.GetKeyRing().NewKeyPair(prv) |
|
||||||
if err != nil { |
|
||||||
panic(err) |
|
||||||
} |
|
||||||
|
|
||||||
mne := ethutil.MnemonicEncode(ethutil.Hex(keyPair.PrivateKey)) |
|
||||||
|
|
||||||
fmt.Printf(` |
|
||||||
Generating new address and keypair. |
|
||||||
Please keep your keys somewhere save. |
|
||||||
|
|
||||||
++++++++++++++++ KeyRing +++++++++++++++++++ |
|
||||||
addr: %x |
|
||||||
prvk: %x |
|
||||||
pubk: %x |
|
||||||
++++++++++++++++++++++++++++++++++++++++++++ |
|
||||||
save these words so you can restore your account later: %s |
|
||||||
`, keyPair.Address(), keyPair.PrivateKey, keyPair.PublicKey, mne) |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
func ImportPrivateKey(sec string) { |
|
||||||
ethutil.GetKeyRing().Reset() |
|
||||||
|
|
||||||
keyPair, err := ethutil.GetKeyRing().NewKeyPair(ethutil.FromHex(sec)) |
|
||||||
if err != nil { |
|
||||||
panic(err) |
|
||||||
} |
|
||||||
|
|
||||||
mne := ethutil.MnemonicEncode(ethutil.Hex(keyPair.PrivateKey)) |
|
||||||
|
|
||||||
fmt.Printf(` |
|
||||||
Generating new address and keypair. |
|
||||||
Please keep your keys somewhere save. |
|
||||||
|
|
||||||
++++++++++++++++ KeyRing +++++++++++++++++++ |
|
||||||
addr: %x |
|
||||||
prvk: %x |
|
||||||
pubk: %x |
|
||||||
++++++++++++++++++++++++++++++++++++++++++++ |
|
||||||
save these words so you can restore your account later: %s |
|
||||||
`, keyPair.Address(), keyPair.PrivateKey, keyPair.PublicKey, mne) |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
func CreateKeyPair(force bool) { |
|
||||||
data, _ := ethutil.Config.Db.Get([]byte("KeyRing")) |
|
||||||
if len(data) == 0 || force { |
|
||||||
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. |
|
||||||
Please keep your keys somewhere save. |
|
||||||
|
|
||||||
++++++++++++++++ KeyRing +++++++++++++++++++ |
|
||||||
addr: %x |
|
||||||
prvk: %x |
|
||||||
pubk: %x |
|
||||||
++++++++++++++++++++++++++++++++++++++++++++ |
|
||||||
save these words so you can restore your account later: %s |
|
||||||
`, pair.Address(), prv, pub, mne) |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
||||||
*/ |
|
||||||
|
|
||||||
/* |
|
||||||
func ImportPrivateKey(prvKey string) { |
|
||||||
key := ethutil.FromHex(prvKey) |
|
||||||
msg := []byte("tmp") |
|
||||||
// Couldn't think of a better way to get the pub key
|
|
||||||
sig, _ := secp256k1.Sign(msg, key) |
|
||||||
pub, _ := secp256k1.RecoverPubkey(msg, sig) |
|
||||||
pair := ðutil.Key{PrivateKey: key, PublicKey: pub} |
|
||||||
ethutil.Config.Db.Put([]byte("KeyRing"), pair.RlpEncode()) |
|
||||||
|
|
||||||
fmt.Printf(` |
|
||||||
Importing private key |
|
||||||
|
|
||||||
++++++++++++++++ KeyRing +++++++++++++++++++ |
|
||||||
addr: %x |
|
||||||
prvk: %x |
|
||||||
pubk: %x |
|
||||||
++++++++++++++++++++++++++++++++++++++++++++ |
|
||||||
|
|
||||||
`, pair.Address(), key, pub) |
|
||||||
} |
|
||||||
*/ |
|
Loading…
Reference in new issue