Add client_version RPC message

This commit is contained in:
Taylor Gerring 2015-03-04 07:54:10 -06:00
parent e7b33e9ae7
commit c92e48ce3f
3 changed files with 11 additions and 1 deletions

View File

@ -132,7 +132,8 @@ type Ethereum struct {
logger ethlogger.LogSystem logger ethlogger.LogSystem
Mining bool Mining bool
version string
} }
func New(config *Config) (*Ethereum, error) { func New(config *Config) (*Ethereum, error) {
@ -175,6 +176,7 @@ func New(config *Config) (*Ethereum, error) {
blacklist: p2p.NewBlacklist(), blacklist: p2p.NewBlacklist(),
eventMux: &event.TypeMux{}, eventMux: &event.TypeMux{},
logger: logger, logger: logger,
version: config.Name,
} }
eth.chainManager = core.NewChainManager(db, eth.EventMux()) eth.chainManager = core.NewChainManager(db, eth.EventMux())
@ -231,6 +233,7 @@ func (s *Ethereum) PeerCount() int { return s.net.PeerCoun
func (s *Ethereum) Peers() []*p2p.Peer { return s.net.Peers() } func (s *Ethereum) Peers() []*p2p.Peer { return s.net.Peers() }
func (s *Ethereum) MaxPeers() int { return s.net.MaxPeers } func (s *Ethereum) MaxPeers() int { return s.net.MaxPeers }
func (s *Ethereum) Coinbase() []byte { return nil } // TODO func (s *Ethereum) Coinbase() []byte { return nil } // TODO
func (s *Ethereum) ClientVersion() string { return s.version }
// Start the ethereum // Start the ethereum
func (s *Ethereum) Start() error { func (s *Ethereum) Start() error {

View File

@ -668,6 +668,8 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error
return err return err
} }
return p.WhisperMessages(args, reply) return p.WhisperMessages(args, reply)
case "client_version":
*reply = p.eth.GetClientVersion()
default: default:
return NewErrorWithMessage(errNotImplemented, req.Method) return NewErrorWithMessage(errNotImplemented, req.Method)
} }

View File

@ -36,6 +36,7 @@ type Backend interface {
EventMux() *event.TypeMux EventMux() *event.TypeMux
Whisper() *whisper.Whisper Whisper() *whisper.Whisper
Miner() *miner.Miner Miner() *miner.Miner
ClientVersion() string
} }
type XEth struct { type XEth struct {
@ -164,6 +165,10 @@ func (self *XEth) IsContract(address string) bool {
return len(self.State().SafeGet(address).Code()) > 0 return len(self.State().SafeGet(address).Code()) > 0
} }
func (self *XEth) GetClientVersion() string {
return self.eth.ClientVersion()
}
func (self *XEth) SecretToAddress(key string) string { func (self *XEth) SecretToAddress(key string) string {
pair, err := crypto.NewKeyPairFromSec(fromHex(key)) pair, err := crypto.NewKeyPairFromSec(fromHex(key))
if err != nil { if err != nil {