func StartRPC(eth *eth.Ethereum, ctx *cli.Context) error { config := rpc.RpcConfig{ ListenAddress: ctx.GlobalString(RPCListenAddrFlag.Name), ListenPort: uint(ctx.GlobalInt(RPCPortFlag.Name)), CorsDomain: ctx.GlobalString(RPCCORSDomainFlag.Name), } xeth := xeth.New(eth, nil) return rpc.Start(xeth, config) }
func (js *jsre) startRPC(call otto.FunctionCall) otto.Value { addr, err := call.Argument(0).ToString() if err != nil { fmt.Println(err) return otto.FalseValue() } port, err := call.Argument(1).ToInteger() if err != nil { fmt.Println(err) return otto.FalseValue() } corsDomain := js.corsDomain if len(call.ArgumentList) > 2 { corsDomain, err = call.Argument(2).ToString() if err != nil { fmt.Println(err) return otto.FalseValue() } } config := rpc.RpcConfig{ ListenAddress: addr, ListenPort: uint(port), CorsDomain: corsDomain, } xeth := xeth.New(js.ethereum, nil) err = rpc.Start(xeth, config) if err != nil { fmt.Printf(err.Error()) return otto.FalseValue() } return otto.TrueValue() }