code: func (c *Console) Welcome() {
  	message := "Welcome to the Geth JavaScript console!\n\n"
  
  	// Print some generic Geth metadata
  	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))
  		for api, version := range apis {
  			modules = append(modules, fmt.Sprintf("%s:%s", api, version))
  		}
  		sort.Strings(modules)
  		message += " modules: " + strings.Join(modules, " ") + "\n"
  	}
  	fmt.Fprintln(c.printer, message)
  }
docs: // Welcome show summary of current Geth instance and some metadata about the
  // console's available modules.