code: func (w *wizard) readAddress() *common.Address {
  	for {
  		// Read the address from the user
  		fmt.Printf("> 0x")
  		text, err := w.in.ReadString('\n')
  		if err != nil {
  			log.Crit("Failed to read user input", "err", err)
  		}
  		if text = strings.TrimSpace(text); text == "" {
  			return nil
  		}
  		// Make sure it looks ok and return it if so
  		if len(text) != 40 {
  			log.Error("Invalid address length, please retry")
  			continue
  		}
  		bigaddr, _ := new(big.Int).SetString(text, 16)
  		address := common.BigToAddress(bigaddr)
  		return &address
  	}
  }
docs: // readAddress reads a single line from stdin, trimming if from spaces and converts
  // it to an Ethereum address.