refactored old rpc structure to new

pull/1279/head
Bas van Kervel 10 years ago
parent fd764d4ff7
commit 5c25403b13
  1. 1
      cmd/geth/main.go
  2. 19
      cmd/utils/flags.go
  3. 4
      rpc/api/api.go

@ -239,6 +239,7 @@ JavaScript API. See https://github.com/ethereum/go-ethereum/wiki/Javascipt-Conso
utils.RPCEnabledFlag, utils.RPCEnabledFlag,
utils.RPCListenAddrFlag, utils.RPCListenAddrFlag,
utils.RPCPortFlag, utils.RPCPortFlag,
utils.RpcApiFlag,
utils.IPCDisabledFlag, utils.IPCDisabledFlag,
utils.IPCApiFlag, utils.IPCApiFlag,
utils.IPCPathFlag, utils.IPCPathFlag,

@ -22,7 +22,6 @@ import (
"github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/logger"
"github.com/ethereum/go-ethereum/logger/glog" "github.com/ethereum/go-ethereum/logger/glog"
"github.com/ethereum/go-ethereum/p2p/nat" "github.com/ethereum/go-ethereum/p2p/nat"
"github.com/ethereum/go-ethereum/rpc"
"github.com/ethereum/go-ethereum/rpc/api" "github.com/ethereum/go-ethereum/rpc/api"
"github.com/ethereum/go-ethereum/rpc/codec" "github.com/ethereum/go-ethereum/rpc/codec"
"github.com/ethereum/go-ethereum/rpc/comms" "github.com/ethereum/go-ethereum/rpc/comms"
@ -209,13 +208,18 @@ var (
Usage: "Domain on which to send Access-Control-Allow-Origin header", Usage: "Domain on which to send Access-Control-Allow-Origin header",
Value: "", Value: "",
} }
RpcApiFlag = cli.StringFlag{
Name: "rpcapi",
Usage: "Specify the API's which are offered over the HTTP RPC interface",
Value: api.DefaultHttpRpcApis,
}
IPCDisabledFlag = cli.BoolFlag{ IPCDisabledFlag = cli.BoolFlag{
Name: "ipcdisable", Name: "ipcdisable",
Usage: "Disable the IPC-RPC server", Usage: "Disable the IPC-RPC server",
} }
IPCApiFlag = cli.StringFlag{ IPCApiFlag = cli.StringFlag{
Name: "ipcapi", Name: "ipcapi",
Usage: "Specify the API's which are offered over this interface", Usage: "Specify the API's which are offered over the IPC interface",
Value: api.DefaultIpcApis, Value: api.DefaultIpcApis,
} }
IPCPathFlag = DirectoryFlag{ IPCPathFlag = DirectoryFlag{
@ -457,14 +461,21 @@ func StartIPC(eth *eth.Ethereum, ctx *cli.Context) error {
} }
func StartRPC(eth *eth.Ethereum, ctx *cli.Context) error { func StartRPC(eth *eth.Ethereum, ctx *cli.Context) error {
config := rpc.RpcConfig{ config := comms.HttpConfig{
ListenAddress: ctx.GlobalString(RPCListenAddrFlag.Name), ListenAddress: ctx.GlobalString(RPCListenAddrFlag.Name),
ListenPort: uint(ctx.GlobalInt(RPCPortFlag.Name)), ListenPort: uint(ctx.GlobalInt(RPCPortFlag.Name)),
CorsDomain: ctx.GlobalString(RPCCORSDomainFlag.Name), CorsDomain: ctx.GlobalString(RPCCORSDomainFlag.Name),
} }
xeth := xeth.New(eth, nil) xeth := xeth.New(eth, nil)
return rpc.Start(xeth, config) codec := codec.JSON
apis, err := api.ParseApiString(ctx.GlobalString(RpcApiFlag.Name), codec, xeth, eth)
if err != nil {
return err
}
return comms.StartHttp(config, codec, apis...)
} }
func StartPProf(ctx *cli.Context) { func StartPProf(ctx *cli.Context) {

@ -20,6 +20,10 @@ const (
) )
var ( var (
DefaultHttpRpcApis = strings.Join([]string{
EthApiName, NetApiName, Web3ApiName,
}, ",")
// List with all API's which are offered over the IPC interface by default // List with all API's which are offered over the IPC interface by default
DefaultIpcApis = strings.Join([]string{ DefaultIpcApis = strings.Join([]string{
AdminApiName, EthApiName, DebugApiName, MinerApiName, NetApiName, AdminApiName, EthApiName, DebugApiName, MinerApiName, NetApiName,

Loading…
Cancel
Save