eth,miner,rpc: set coinbase

This commit is contained in:
Jeffrey Wilcke 2015-07-07 10:58:47 +02:00
parent 35cd355c14
commit 37c1a8f69d
4 changed files with 13 additions and 1 deletions

View File

@ -472,6 +472,7 @@ func (s *Ethereum) Etherbase() (eb common.Address, err error) {
// set in js console via admin interface or wrapper from cli flags // set in js console via admin interface or wrapper from cli flags
func (self *Ethereum) SetEtherbase(etherbase common.Address) { func (self *Ethereum) SetEtherbase(etherbase common.Address) {
self.etherbase = etherbase self.etherbase = etherbase
self.miner.SetEtherbase(etherbase)
} }
func (s *Ethereum) StopMining() { s.miner.Stop() } func (s *Ethereum) StopMining() { s.miner.Stop() }

View File

@ -137,3 +137,8 @@ func (self *Miner) PendingState() *state.StateDB {
func (self *Miner) PendingBlock() *types.Block { func (self *Miner) PendingBlock() *types.Block {
return self.worker.pendingBlock() return self.worker.pendingBlock()
} }
func (self *Miner) SetEtherbase(addr common.Address) {
self.coinbase = addr
self.worker.setEtherbase(addr)
}

View File

@ -124,6 +124,12 @@ func newWorker(coinbase common.Address, eth core.Backend) *worker {
return worker return worker
} }
func (self *worker) setEtherbase(addr common.Address) {
self.mu.Lock()
defer self.mu.Unlock()
self.coinbase = addr
}
func (self *worker) pendingState() *state.StateDB { func (self *worker) pendingState() *state.StateDB {
self.currentMu.Lock() self.currentMu.Lock()
defer self.currentMu.Unlock() defer self.currentMu.Unlock()

View File

@ -19,7 +19,7 @@ var (
"miner_makeDAG": (*minerApi).MakeDAG, "miner_makeDAG": (*minerApi).MakeDAG,
"miner_setExtra": (*minerApi).SetExtra, "miner_setExtra": (*minerApi).SetExtra,
"miner_setGasPrice": (*minerApi).SetGasPrice, "miner_setGasPrice": (*minerApi).SetGasPrice,
"admin_setEtherbase": (*minerApi).SetEtherbase, "miner_setEtherbase": (*minerApi).SetEtherbase,
"miner_startAutoDAG": (*minerApi).StartAutoDAG, "miner_startAutoDAG": (*minerApi).StartAutoDAG,
"miner_start": (*minerApi).StartMiner, "miner_start": (*minerApi).StartMiner,
"miner_stopAutoDAG": (*minerApi).StopAutoDAG, "miner_stopAutoDAG": (*minerApi).StopAutoDAG,