forked from cerc-io/plugeth
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
|
||||
Broadcast(msgType ethwire.MsgType, data []interface{})
|
||||
Reactor() *ethutil.ReactorEngine
|
||||
PeerCount() int
|
||||
IsMining() bool
|
||||
IsListening() bool
|
||||
}
|
||||
|
||||
type StateManager struct {
|
||||
|
15
ethereum.go
15
ethereum.go
@ -65,6 +65,10 @@ type Ethereum struct {
|
||||
// Specifies the desired amount of maximum peers
|
||||
MaxPeers int
|
||||
|
||||
Mining bool
|
||||
|
||||
listening bool
|
||||
|
||||
reactor *ethutil.ReactorEngine
|
||||
|
||||
RpcServer *ethrpc.JsonRpcServer
|
||||
@ -128,6 +132,15 @@ func (s *Ethereum) TxPool() *ethchain.TxPool {
|
||||
func (s *Ethereum) ServerCaps() Caps {
|
||||
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) {
|
||||
peer := NewPeer(conn, s, true)
|
||||
@ -305,7 +318,9 @@ func (s *Ethereum) Start(seed bool) {
|
||||
ln, err := net.Listen("tcp", ":"+s.Port)
|
||||
if err != nil {
|
||||
log.Println("Connection listening disabled. Acting as client")
|
||||
s.listening = false
|
||||
} else {
|
||||
s.listening = true
|
||||
// Starting accepting connections
|
||||
ethutil.Config.Log.Infoln("Ready and accepting connections")
|
||||
// Start the peer handler
|
||||
|
@ -1,6 +1,8 @@
|
||||
package ethpub
|
||||
|
||||
import (
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"github.com/ethereum/eth-go/ethchain"
|
||||
"github.com/ethereum/eth-go/ethutil"
|
||||
)
|
||||
@ -56,11 +58,32 @@ func (lib *PEthereum) GetStateObject(address string) *PStateObject {
|
||||
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 {
|
||||
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()
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user