console: handle eth.coinbase throws

This commit is contained in:
Péter Szilágyi 2019-04-02 13:59:39 +03:00
parent c4109d790f
commit 3baed8dd9a
No known key found for this signature in database
GPG Key ID: E9AE538CEDF8293D
2 changed files with 18 additions and 10 deletions

@ -274,14 +274,22 @@ func (c *Console) AutoCompleteInput(line string, pos int) (string, []string, str
// Welcome show summary of current Geth instance and some metadata about the // Welcome show summary of current Geth instance and some metadata about the
// console's available modules. // console's available modules.
func (c *Console) Welcome() { func (c *Console) Welcome() {
message := "Welcome to the Geth JavaScript console!\n\n"
// Print some generic Geth metadata // Print some generic Geth metadata
fmt.Fprintf(c.printer, "Welcome to the Geth JavaScript console!\n\n") if res, err := c.jsre.Run(`
c.jsre.Run(` var message = "instance: " + web3.version.node + "\n";
console.log("instance: " + web3.version.node); try {
console.log("coinbase: " + eth.coinbase); message += "coinbase: " + eth.coinbase + "\n";
console.log("at block: " + eth.blockNumber + " (" + new Date(1000 * eth.getBlock(eth.blockNumber).timestamp) + ")"); } catch (err) {}
console.log(" datadir: " + admin.datadir); message += "at block: " + eth.blockNumber + " (" + new Date(1000 * eth.getBlock(eth.blockNumber).timestamp) + ")\n";
`) try {
message += " datadir: " + admin.datadir + "\n";
} catch (err) {}
message
`); err == nil {
message += res.String()
}
// List all the supported modules for the user to call // List all the supported modules for the user to call
if apis, err := c.client.SupportedModules(); err == nil { if apis, err := c.client.SupportedModules(); err == nil {
modules := make([]string, 0, len(apis)) modules := make([]string, 0, len(apis))
@ -289,9 +297,9 @@ func (c *Console) Welcome() {
modules = append(modules, fmt.Sprintf("%s:%s", api, version)) modules = append(modules, fmt.Sprintf("%s:%s", api, version))
} }
sort.Strings(modules) sort.Strings(modules)
fmt.Fprintln(c.printer, " modules:", strings.Join(modules, " ")) message += " modules: " + strings.Join(modules, " ") + "\n"
} }
fmt.Fprintln(c.printer) fmt.Fprintln(c.printer, message)
} }
// Evaluate executes code and pretty prints the result to the specified output // Evaluate executes code and pretty prints the result to the specified output

@ -297,7 +297,7 @@ func (h *handler) handleCallMsg(ctx *callProc, msg *jsonrpcMessage) *jsonrpcMess
case msg.isCall(): case msg.isCall():
resp := h.handleCall(ctx, msg) resp := h.handleCall(ctx, msg)
if resp.Error != nil { if resp.Error != nil {
h.log.Info("Served "+msg.Method, "reqid", idForLog{msg.ID}, "t", time.Since(start), "err", resp.Error.Message) h.log.Warn("Served "+msg.Method, "reqid", idForLog{msg.ID}, "t", time.Since(start), "err", resp.Error.Message)
} else { } else {
h.log.Debug("Served "+msg.Method, "reqid", idForLog{msg.ID}, "t", time.Since(start)) h.log.Debug("Served "+msg.Method, "reqid", idForLog{msg.ID}, "t", time.Since(start))
} }