aboutsummaryrefslogtreecommitdiffstats
path: root/miner/miner.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-03-12 07:26:40 +0800
committerobscuren <geffobscura@gmail.com>2015-03-12 07:26:40 +0800
commit7ee5cb0a81f9ccc0efec2a5bf830c7566f3289ad (patch)
treebe71b38f179f61b1941771a0ecaa2555105acc24 /miner/miner.go
parent70f6f2af07b3f3a4d848190525e50f3327acb2c7 (diff)
parent9fb52c517beda2422920eb5b265a0f714d59c39a (diff)
downloaddexon-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.go30
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()