From 2c7b625daaf062192db2fa604344f79c1bdbb232 Mon Sep 17 00:00:00 2001 From: Maran Date: Wed, 14 May 2014 13:55:55 +0200 Subject: [PATCH] Make sure we have a coinbase address to mine with --- utils/cmd.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/utils/cmd.go b/utils/cmd.go index 5a100ca4f..66cfbeff9 100644 --- a/utils/cmd.go +++ b/utils/cmd.go @@ -26,6 +26,16 @@ func DoMining(ethereum *eth.Ethereum) { // Set Mining status ethereum.Mining = true + data, _ := ethutil.Config.Db.Get([]byte("KeyRing")) + if len(data) == 0 { + log.Println("No address found, can't start mining") + return + } + + keyRing := ethutil.NewValueFromBytes(data) + addr := keyRing.Get(0).Bytes() + pair, _ := ethchain.NewKeyPairFromSec(ethutil.FromHex(hex.EncodeToString(addr))) + go func() { // Give it some time to connect with peers time.Sleep(3 * time.Second) @@ -35,10 +45,6 @@ func DoMining(ethereum *eth.Ethereum) { } log.Println("Miner started") - data, _ := ethutil.Config.Db.Get([]byte("KeyRing")) - keyRing := ethutil.NewValueFromBytes(data) - addr := keyRing.Get(0).Bytes() - pair, _ := ethchain.NewKeyPairFromSec(ethutil.FromHex(hex.EncodeToString(addr))) miner := ethminer.NewDefaultMiner(pair.Address(), ethereum) miner.Start() }()