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