Update CLI to use new Websocket RPC
Use “wsport” flag to change default port
This commit is contained in:
parent
b8e7b8e2e1
commit
5f50fe7a4a
@ -41,6 +41,7 @@ var (
|
|||||||
StartRpc bool
|
StartRpc bool
|
||||||
StartWebSockets bool
|
StartWebSockets bool
|
||||||
RpcPort int
|
RpcPort int
|
||||||
|
WsPort int
|
||||||
NatType string
|
NatType string
|
||||||
PMPGateway string
|
PMPGateway string
|
||||||
OutboundPort string
|
OutboundPort string
|
||||||
@ -96,6 +97,7 @@ func Init() {
|
|||||||
flag.StringVar(&PMPGateway, "pmp", "", "Gateway IP for PMP")
|
flag.StringVar(&PMPGateway, "pmp", "", "Gateway IP for PMP")
|
||||||
flag.IntVar(&MaxPeer, "maxpeer", 30, "maximum desired peers")
|
flag.IntVar(&MaxPeer, "maxpeer", 30, "maximum desired peers")
|
||||||
flag.IntVar(&RpcPort, "rpcport", 8080, "port to start json-rpc server on")
|
flag.IntVar(&RpcPort, "rpcport", 8080, "port to start json-rpc server on")
|
||||||
|
flag.IntVar(&WsPort, "wsport", 40404, "port to start websocket rpc server on")
|
||||||
flag.BoolVar(&StartRpc, "rpc", false, "start rpc server")
|
flag.BoolVar(&StartRpc, "rpc", false, "start rpc server")
|
||||||
flag.BoolVar(&StartWebSockets, "ws", false, "start websocket server")
|
flag.BoolVar(&StartWebSockets, "ws", false, "start websocket server")
|
||||||
flag.BoolVar(&NonInteractive, "y", false, "non-interactive mode (say yes to confirmations)")
|
flag.BoolVar(&NonInteractive, "y", false, "non-interactive mode (say yes to confirmations)")
|
||||||
|
@ -131,7 +131,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if StartWebSockets {
|
if StartWebSockets {
|
||||||
utils.StartWebSockets(ethereum)
|
utils.StartWebSockets(ethereum, WsPort)
|
||||||
}
|
}
|
||||||
|
|
||||||
utils.StartEthereum(ethereum, UseSeed)
|
utils.StartEthereum(ethereum, UseSeed)
|
||||||
|
@ -39,8 +39,9 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/miner"
|
"github.com/ethereum/go-ethereum/miner"
|
||||||
"github.com/ethereum/go-ethereum/rlp"
|
"github.com/ethereum/go-ethereum/rlp"
|
||||||
rpchttp "github.com/ethereum/go-ethereum/rpc/http"
|
rpchttp "github.com/ethereum/go-ethereum/rpc/http"
|
||||||
|
rpcws "github.com/ethereum/go-ethereum/rpc/websocket"
|
||||||
"github.com/ethereum/go-ethereum/state"
|
"github.com/ethereum/go-ethereum/state"
|
||||||
"github.com/ethereum/go-ethereum/websocket"
|
// "github.com/ethereum/go-ethereum/websocket"
|
||||||
"github.com/ethereum/go-ethereum/xeth"
|
"github.com/ethereum/go-ethereum/xeth"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -201,11 +202,18 @@ func StartRpc(ethereum *eth.Ethereum, RpcPort int) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func StartWebSockets(eth *eth.Ethereum) {
|
func StartWebSockets(eth *eth.Ethereum, wsPort int) {
|
||||||
clilogger.Infoln("Starting WebSockets")
|
clilogger.Infoln("Starting WebSockets")
|
||||||
|
|
||||||
sock := websocket.NewWebSocketServer(eth)
|
// sock := websocket.NewWebSocketServer(eth)
|
||||||
go sock.Serv()
|
// go sock.Serv()
|
||||||
|
var err error
|
||||||
|
eth.WsServer, err = rpcws.NewWebSocketServer(eth, wsPort)
|
||||||
|
if err != nil {
|
||||||
|
clilogger.Errorf("Could not start RPC interface (port %v): %v", wsPort, err)
|
||||||
|
} else {
|
||||||
|
go eth.WsServer.Start()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var gminer *miner.Miner
|
var gminer *miner.Miner
|
||||||
|
@ -67,6 +67,7 @@ type Ethereum struct {
|
|||||||
blockSub event.Subscription
|
blockSub event.Subscription
|
||||||
|
|
||||||
RpcServer rpc.RpcServer
|
RpcServer rpc.RpcServer
|
||||||
|
WsServer rpc.RpcServer
|
||||||
keyManager *crypto.KeyManager
|
keyManager *crypto.KeyManager
|
||||||
|
|
||||||
clientIdentity p2p.ClientIdentity
|
clientIdentity p2p.ClientIdentity
|
||||||
@ -276,6 +277,9 @@ func (s *Ethereum) Stop() {
|
|||||||
if s.RpcServer != nil {
|
if s.RpcServer != nil {
|
||||||
s.RpcServer.Stop()
|
s.RpcServer.Stop()
|
||||||
}
|
}
|
||||||
|
if s.WsServer != nil {
|
||||||
|
s.WsServer.Stop()
|
||||||
|
}
|
||||||
s.txPool.Stop()
|
s.txPool.Stop()
|
||||||
s.eventMux.Stop()
|
s.eventMux.Stop()
|
||||||
s.blockPool.Stop()
|
s.blockPool.Stop()
|
||||||
|
Loading…
Reference in New Issue
Block a user