From 0eb08693e90ce2f7cdabb142852a4173cc91e387 Mon Sep 17 00:00:00 2001
From: obscuren <geffobscura@gmail.com>
Date: Thu, 21 Aug 2014 18:14:41 +0200
Subject: [PATCH] Turbo mode

---
 ethchain/dagger.go | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/ethchain/dagger.go b/ethchain/dagger.go
index 917b3d722..065d2c843 100644
--- a/ethchain/dagger.go
+++ b/ethchain/dagger.go
@@ -1,15 +1,16 @@
 package ethchain
 
 import (
+	"hash"
+	"math/big"
+	"math/rand"
+	"time"
+
 	"github.com/ethereum/eth-go/ethcrypto"
 	"github.com/ethereum/eth-go/ethlog"
 	"github.com/ethereum/eth-go/ethreact"
 	"github.com/ethereum/eth-go/ethutil"
 	"github.com/obscuren/sha3"
-	"hash"
-	"math/big"
-	"math/rand"
-	"time"
 )
 
 var powlogger = ethlog.NewLogger("POW")
@@ -18,17 +19,23 @@ type PoW interface {
 	Search(block *Block, reactChan chan ethreact.Event) []byte
 	Verify(hash []byte, diff *big.Int, nonce []byte) bool
 	GetHashrate() int64
+	Turbo(bool)
 }
 
 type EasyPow struct {
 	hash     *big.Int
 	HashRate int64
+	turbo    bool
 }
 
 func (pow *EasyPow) GetHashrate() int64 {
 	return pow.HashRate
 }
 
+func (pow *EasyPow) Turbo(on bool) {
+	pow.turbo = on
+}
+
 func (pow *EasyPow) Search(block *Block, reactChan chan ethreact.Event) []byte {
 	r := rand.New(rand.NewSource(time.Now().UnixNano()))
 	hash := block.HashNoNonce()
@@ -55,6 +62,10 @@ func (pow *EasyPow) Search(block *Block, reactChan chan ethreact.Event) []byte {
 				return sha
 			}
 		}
+
+		if !pow.turbo {
+			time.Sleep(500 * time.Millisecond)
+		}
 	}
 
 	return nil
-- 
GitLab