mirror of https://github.com/status-im/op-geth.git
Implemented new JS/EthPub methods
- getTxCountAt - getPeerCount - getIsMining - getIsListening - getCoinbase
This commit is contained in:
parent
8ec1bb382a
commit
28357d657b
|
@ -20,6 +20,9 @@ type EthManager interface {
|
||||||
TxPool() *TxPool
|
TxPool() *TxPool
|
||||||
Broadcast(msgType ethwire.MsgType, data []interface{})
|
Broadcast(msgType ethwire.MsgType, data []interface{})
|
||||||
Reactor() *ethutil.ReactorEngine
|
Reactor() *ethutil.ReactorEngine
|
||||||
|
PeerCount() int
|
||||||
|
IsMining() bool
|
||||||
|
IsListening() bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type StateManager struct {
|
type StateManager struct {
|
||||||
|
|
15
ethereum.go
15
ethereum.go
|
@ -65,6 +65,10 @@ type Ethereum struct {
|
||||||
// Specifies the desired amount of maximum peers
|
// Specifies the desired amount of maximum peers
|
||||||
MaxPeers int
|
MaxPeers int
|
||||||
|
|
||||||
|
Mining bool
|
||||||
|
|
||||||
|
listening bool
|
||||||
|
|
||||||
reactor *ethutil.ReactorEngine
|
reactor *ethutil.ReactorEngine
|
||||||
|
|
||||||
RpcServer *ethrpc.JsonRpcServer
|
RpcServer *ethrpc.JsonRpcServer
|
||||||
|
@ -128,6 +132,15 @@ func (s *Ethereum) TxPool() *ethchain.TxPool {
|
||||||
func (s *Ethereum) ServerCaps() Caps {
|
func (s *Ethereum) ServerCaps() Caps {
|
||||||
return s.serverCaps
|
return s.serverCaps
|
||||||
}
|
}
|
||||||
|
func (s *Ethereum) IsMining() bool {
|
||||||
|
return s.Mining
|
||||||
|
}
|
||||||
|
func (s *Ethereum) PeerCount() int {
|
||||||
|
return s.peers.Len()
|
||||||
|
}
|
||||||
|
func (s *Ethereum) IsListening() bool {
|
||||||
|
return s.listening
|
||||||
|
}
|
||||||
|
|
||||||
func (s *Ethereum) AddPeer(conn net.Conn) {
|
func (s *Ethereum) AddPeer(conn net.Conn) {
|
||||||
peer := NewPeer(conn, s, true)
|
peer := NewPeer(conn, s, true)
|
||||||
|
@ -305,7 +318,9 @@ func (s *Ethereum) Start(seed bool) {
|
||||||
ln, err := net.Listen("tcp", ":"+s.Port)
|
ln, err := net.Listen("tcp", ":"+s.Port)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Connection listening disabled. Acting as client")
|
log.Println("Connection listening disabled. Acting as client")
|
||||||
|
s.listening = false
|
||||||
} else {
|
} else {
|
||||||
|
s.listening = true
|
||||||
// Starting accepting connections
|
// Starting accepting connections
|
||||||
ethutil.Config.Log.Infoln("Ready and accepting connections")
|
ethutil.Config.Log.Infoln("Ready and accepting connections")
|
||||||
// Start the peer handler
|
// Start the peer handler
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package ethpub
|
package ethpub
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/hex"
|
||||||
|
"fmt"
|
||||||
"github.com/ethereum/eth-go/ethchain"
|
"github.com/ethereum/eth-go/ethchain"
|
||||||
"github.com/ethereum/eth-go/ethutil"
|
"github.com/ethereum/eth-go/ethutil"
|
||||||
)
|
)
|
||||||
|
@ -56,11 +58,32 @@ func (lib *PEthereum) GetStateObject(address string) *PStateObject {
|
||||||
return NewPStateObject(nil)
|
return NewPStateObject(nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (lib *PEthereum) GetPeerCount() int {
|
||||||
|
return lib.manager.PeerCount()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lib *PEthereum) GetIsMining() bool {
|
||||||
|
return lib.manager.IsMining()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lib *PEthereum) GetIsListening() bool {
|
||||||
|
return lib.manager.IsListening()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lib *PEthereum) GetCoinBase() string {
|
||||||
|
data, _ := ethutil.Config.Db.Get([]byte("KeyRing"))
|
||||||
|
keyRing := ethutil.NewValueFromBytes(data)
|
||||||
|
key := keyRing.Get(0).Bytes()
|
||||||
|
|
||||||
|
return lib.SecretToAddress(hex.EncodeToString(key))
|
||||||
|
}
|
||||||
|
|
||||||
func (lib *PEthereum) GetStorage(address, storageAddress string) string {
|
func (lib *PEthereum) GetStorage(address, storageAddress string) string {
|
||||||
return lib.GetStateObject(address).GetStorage(storageAddress)
|
return lib.GetStateObject(address).GetStorage(storageAddress)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (lib *PEthereum) GetTxCount(address string) int {
|
func (lib *PEthereum) GetTxCountAt(address string) int {
|
||||||
|
fmt.Println("GO")
|
||||||
return lib.GetStateObject(address).Nonce()
|
return lib.GetStateObject(address).Nonce()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue