|
|
|
@ -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
|
|
|
|
|
// console's available modules.
|
|
|
|
|
func (c *Console) Welcome() { |
|
|
|
|
message := "Welcome to the Geth JavaScript console!\n\n" |
|
|
|
|
|
|
|
|
|
// Print some generic Geth metadata
|
|
|
|
|
fmt.Fprintf(c.printer, "Welcome to the Geth JavaScript console!\n\n") |
|
|
|
|
c.jsre.Run(` |
|
|
|
|
console.log("instance: " + web3.version.node); |
|
|
|
|
console.log("coinbase: " + eth.coinbase); |
|
|
|
|
console.log("at block: " + eth.blockNumber + " (" + new Date(1000 * eth.getBlock(eth.blockNumber).timestamp) + ")"); |
|
|
|
|
console.log(" datadir: " + admin.datadir); |
|
|
|
|
`) |
|
|
|
|
if res, err := c.jsre.Run(` |
|
|
|
|
var message = "instance: " + web3.version.node + "\n"; |
|
|
|
|
try { |
|
|
|
|
message += "coinbase: " + eth.coinbase + "\n"; |
|
|
|
|
} catch (err) {} |
|
|
|
|
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
|
|
|
|
|
if apis, err := c.client.SupportedModules(); err == nil { |
|
|
|
|
modules := make([]string, 0, len(apis)) |
|
|
|
@ -289,9 +297,9 @@ func (c *Console) Welcome() { |
|
|
|
|
modules = append(modules, fmt.Sprintf("%s:%s", api, version)) |
|
|
|
|
} |
|
|
|
|
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
|
|
|
|
|