Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Fetch = &cli.Command{ Name: "fetch", Usage: "fetch connects to a server and downloads requested data", Flags: []cli.Flag{basePath, ethClientURL}, Action: func(c *cli.Context) error { log.Info("starting fetch") var args []interface{} a := c.Args().Slice() switch len(a) { case 0: log.Fatal("no method given") case 1: args = []interface{}{} case 2: err := json.Unmarshal([]byte(a[1]), &args) if err != nil { log.Fatalf("invalid params json: %s", err) } default: log.Fatal("invalid number of arguments") } method := a[0] rpc, err := client.New(c.String(ethClientURL.Name)) if err != nil { log.Fatal(err) } req := types.NewJSONRPCRequest(method, args) request, err := json.MarshalIndent(req, "", " ") if err != nil { log.Fatal(err) } response, err := rpc.Request(request) if err != nil { log.Fatal(err) } var out bytes.Buffer err = json.Indent(&out, response, "", " ") if err != nil { log.Fatal(err) } response = out.Bytes() base := c.String(basePath.Name) folder := filepath.Join(base, req.Path()) os.MkdirAll(folder, os.ModePerm) err = ioutil.WriteFile(filepath.Join(folder, "request.json"), request, 0644) if err != nil { log.Fatal(err) } err = ioutil.WriteFile(filepath.Join(folder, "response.json"), response, 0644) if err != nil { log.Fatal(err) } log.Infof("wrote request.json(%s), response.json(%s) to %s", bytefmt.ByteSize(uint64(len(request))), bytefmt.ByteSize(uint64(len(response))), folder, ) return nil }, }
Fetch connects to a server and downloads requested data
View Source
var Serve = &cli.Command{ Name: "serve", Usage: "serve starts a mocked ethereum rpc server", Flags: []cli.Flag{basePath, httpPort}, Action: func(c *cli.Context) error { log.SetLevel(log.DebugLevel) srv, err := server.New(c.Int("http-port"), "./testdata/") if err != nil { log.Fatal(err) } return srv.Serve() }, }
Serve starts a mockup ethereum rpc server
View Source
var Verbose = &cli.BoolFlag{ Name: "verbose, v", Value: false, Usage: "prints debug messages if set", }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.