aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKobi Gurkan <kobigurk@gmail.com>2015-04-12 20:17:07 +0800
committerKobi Gurkan <kobigurk@gmail.com>2015-04-21 21:44:08 +0800
commit41b83fe1cd6d49ee68ab44aa87812d716f0e4399 (patch)
treec6a5aefe68a3292ee2798f63c548200795abf82b
parent4ddbf81e74e90bd476c1bd8c7729581d2affe065 (diff)
downloadgo-tangerine-41b83fe1cd6d49ee68ab44aa87812d716f0e4399.tar.gz
go-tangerine-41b83fe1cd6d49ee68ab44aa87812d716f0e4399.tar.zst
go-tangerine-41b83fe1cd6d49ee68ab44aa87812d716f0e4399.zip
adds eth_hashrate RPC method
-rw-r--r--eth/backend.go1
-rw-r--r--rpc/api.go2
-rw-r--r--xeth/xeth.go4
3 files changed, 7 insertions, 0 deletions
diff --git a/eth/backend.go b/eth/backend.go
index 88456e448..982317314 100644
--- a/eth/backend.go
+++ b/eth/backend.go
@@ -341,6 +341,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 66283752b..8a0d759c1 100644
--- a/rpc/api.go
+++ b/rpc/api.go
@@ -62,6 +62,8 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
*reply = newHexData(api.xeth().Coinbase())
case "eth_mining":
*reply = api.xeth().IsMining()
+ case "eth_hashrate":
+ *reply = api.xeth().HashRate()
case "eth_gasPrice":
v := xeth.DefaultGas()
*reply = newHexData(v.Bytes())
diff --git a/xeth/xeth.go b/xeth/xeth.go
index afcb33e4c..e221f6d20 100644
--- a/xeth/xeth.go
+++ b/xeth/xeth.go
@@ -276,6 +276,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())
}