func StartRPC(exp *exp.Expanse, ctx *cli.Context) error { config := comms.HttpConfig{ ListenAddress: ctx.GlobalString(RPCListenAddrFlag.Name), ListenPort: uint(ctx.GlobalInt(RPCPortFlag.Name)), CorsDomain: ctx.GlobalString(RPCCORSDomainFlag.Name), } xeth := xeth.New(exp, nil) codec := codec.JSON apis, err := api.ParseApiString(ctx.GlobalString(RpcApiFlag.Name), codec, xeth, exp) if err != nil { return err } return comms.StartHttp(config, codec, api.Merge(apis...)) }
func (self *adminApi) StartRPC(req *shared.Request) (interface{}, error) { args := new(StartRPCArgs) if err := self.coder.Decode(req.Params, &args); err != nil { return nil, shared.NewDecodeParamError(err.Error()) } cfg := comms.HttpConfig{ ListenAddress: args.ListenAddress, ListenPort: args.ListenPort, CorsDomain: args.CorsDomain, } apis, err := ParseApiString(args.Apis, self.codec, self.xeth, self.expanse) if err != nil { return false, err } err = comms.StartHttp(cfg, self.codec, Merge(apis...)) if err == nil { return true, nil } return false, err }