|
|
@ -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) { |
|
|
|