瀏覽代碼

eth,miner,rpc: set coinbase

Jeffrey Wilcke 10 年之前
父節點
當前提交
37c1a8f69d
共有 4 個文件被更改,包括 13 次插入1 次删除
  1. 1 0
      eth/backend.go
  2. 5 0
      miner/miner.go
  3. 6 0
      miner/worker.go
  4. 1 1
      rpc/api/miner.go

+ 1 - 0
eth/backend.go

@@ -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
 func (self *Ethereum) SetEtherbase(etherbase common.Address) {
 	self.etherbase = etherbase
+	self.miner.SetEtherbase(etherbase)
 }
 
 func (s *Ethereum) StopMining()         { s.miner.Stop() }

+ 5 - 0
miner/miner.go

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

+ 6 - 0
miner/worker.go

@@ -124,6 +124,12 @@ func newWorker(coinbase common.Address, eth core.Backend) *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 {
 	self.currentMu.Lock()
 	defer self.currentMu.Unlock()

+ 1 - 1
rpc/api/miner.go

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