diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-03-12 06:56:48 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-03-12 06:56:48 +0800 |
commit | 6af078bd8c9451f9c12cab371bf7bd2569f575a3 (patch) | |
tree | 08d6b802539aadd66fdd27236847de1f966318d2 /miner/miner.go | |
parent | 5a9f712144058c576d14b0d27ff2d2d270cd6d27 (diff) | |
parent | d5aaf413e0307b07597e48a548f0219f4ea8c3be (diff) | |
download | go-tangerine-6af078bd8c9451f9c12cab371bf7bd2569f575a3.tar go-tangerine-6af078bd8c9451f9c12cab371bf7bd2569f575a3.tar.gz go-tangerine-6af078bd8c9451f9c12cab371bf7bd2569f575a3.tar.bz2 go-tangerine-6af078bd8c9451f9c12cab371bf7bd2569f575a3.tar.lz go-tangerine-6af078bd8c9451f9c12cab371bf7bd2569f575a3.tar.xz go-tangerine-6af078bd8c9451f9c12cab371bf7bd2569f575a3.tar.zst go-tangerine-6af078bd8c9451f9c12cab371bf7bd2569f575a3.zip |
Merge pull request #462 from fjl/miner-coinbase
miner: provide coinbase when starting the miner
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() |