diff --git a/eth/backend.go b/eth/backend.go index 783f339088..fa83491163 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -343,6 +343,7 @@ func (s *Ethereum) Etherbase() (eb common.Address, err error) { func (s *Ethereum) StopMining() { s.miner.Stop() } func (s *Ethereum) IsMining() bool { return s.miner.Mining() } +func (s *Ethereum) HashRate() int64 { return s.miner.HashRate() } func (s *Ethereum) Miner() *miner.Miner { return s.miner } // func (s *Ethereum) Logger() logger.LogSystem { return s.logger } diff --git a/rpc/api.go b/rpc/api.go index 5930a4c7b3..9fbe2c5650 100644 --- a/rpc/api.go +++ b/rpc/api.go @@ -465,6 +465,8 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err return err } *reply = api.xeth().Whisper().Messages(args.Id) + case "ext_hashrate": + *reply = newHexNum(api.xeth().HashRate()) // case "eth_register": // // Placeholder for actual type diff --git a/xeth/xeth.go b/xeth/xeth.go index 693acb9107..71c39fd429 100644 --- a/xeth/xeth.go +++ b/xeth/xeth.go @@ -280,6 +280,10 @@ func (self *XEth) IsMining() bool { return self.backend.IsMining() } +func (self *XEth) HashRate() int64 { + return self.backend.HashRate() +} + func (self *XEth) EthVersion() string { return fmt.Sprintf("%d", self.backend.EthVersion()) }