From da4a0e05555fdcbf3e561b4c7bb93964f7d417f3 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Sun, 19 Apr 2015 01:28:41 +0200 Subject: [PATCH] eth: fix node key persistence crypto.LoadECDSA has been modified to expect hex data. The key was being saved as raw bytes, causing the file to be rewritten on every start. --- eth/backend.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/eth/backend.go b/eth/backend.go index 7799326fe..264753aba 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -3,7 +3,6 @@ package eth import ( "crypto/ecdsa" "fmt" - "io/ioutil" "math" "path" "strings" @@ -110,7 +109,7 @@ func (cfg *Config) nodeKey() (*ecdsa.PrivateKey, error) { if key, err = crypto.GenerateKey(); err != nil { return nil, fmt.Errorf("could not generate server key: %v", err) } - if err := ioutil.WriteFile(keyfile, crypto.FromECDSA(key), 0600); err != nil { + if err := crypto.SaveECDSA(keyfile, key); err != nil { glog.V(logger.Error).Infoln("could not persist nodekey: ", err) } return key, nil @@ -223,12 +222,10 @@ func New(config *Config) (*Ethereum, error) { if err != nil { return nil, err } - protocols := []p2p.Protocol{eth.protocolManager.SubProtocol} if config.Shh { protocols = append(protocols, eth.whisper.Protocol()) } - eth.net = &p2p.Server{ PrivateKey: netprv, Name: config.Name,