diff options
author | obscuren <geffobscura@gmail.com> | 2015-03-12 07:26:40 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-03-12 07:26:40 +0800 |
commit | 7ee5cb0a81f9ccc0efec2a5bf830c7566f3289ad (patch) | |
tree | be71b38f179f61b1941771a0ecaa2555105acc24 /miner/miner.go | |
parent | 70f6f2af07b3f3a4d848190525e50f3327acb2c7 (diff) | |
parent | 9fb52c517beda2422920eb5b265a0f714d59c39a (diff) | |
download | dexon-7ee5cb0a81f9ccc0efec2a5bf830c7566f3289ad.tar dexon-7ee5cb0a81f9ccc0efec2a5bf830c7566f3289ad.tar.gz dexon-7ee5cb0a81f9ccc0efec2a5bf830c7566f3289ad.tar.bz2 dexon-7ee5cb0a81f9ccc0efec2a5bf830c7566f3289ad.tar.lz dexon-7ee5cb0a81f9ccc0efec2a5bf830c7566f3289ad.tar.xz dexon-7ee5cb0a81f9ccc0efec2a5bf830c7566f3289ad.tar.zst dexon-7ee5cb0a81f9ccc0efec2a5bf830c7566f3289ad.zip |
Merge branch 'develop' into rpcfrontier
Diffstat (limited to 'miner/miner.go')
-rw-r--r-- | miner/miner.go | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/miner/miner.go b/miner/miner.go index d3b1f578a..7bf67a6ec 100644 --- a/miner/miner.go +++ b/miner/miner.go @@ -17,44 +17,34 @@ type Miner struct { MinAcceptedGasPrice *big.Int Extra string - Coinbase []byte - mining bool - - pow pow.PoW + mining bool + eth core.Backend + pow pow.PoW } -func New(coinbase []byte, eth core.Backend, pow pow.PoW, minerThreads int) *Miner { - miner := &Miner{ - Coinbase: coinbase, - worker: newWorker(coinbase, eth), - pow: pow, - } - - minerThreads = 1 - for i := 0; i < minerThreads; i++ { - miner.worker.register(NewCpuMiner(i, miner.pow)) - } - - return miner +func New(eth core.Backend, pow pow.PoW, minerThreads int) *Miner { + // note: minerThreads is currently ignored because + // ethash is not thread safe. + return &Miner{eth: eth, pow: pow} } func (self *Miner) Mining() bool { return self.mining } -func (self *Miner) Start() { +func (self *Miner) Start(coinbase []byte) { self.mining = true + self.worker = newWorker(coinbase, self.eth) + self.worker.register(NewCpuMiner(0, self.pow)) self.pow.(*ethash.Ethash).UpdateDAG() self.worker.start() - self.worker.commitNewWork() } func (self *Miner) Stop() { self.mining = false - self.worker.stop() //self.pow.(*ethash.Ethash).Stop() |