Generate a new Monero address (wallet)

Author:

The generation of a new Monero address is super simple, just use

monero-wallet-cli

and personally create your new address.
And for those of you, which do not have “monero-wallet-cli” command or even do not know what is this, check out our howtos here:

  1. Install Ubuntu 16 LTS (comming soon)
  2. Building from source a Monero node under Ubuntu 16 LTS

Go to your directory where is the monero-wallet-cli binary and execute the following command:

srv@local: cd ~/monero/build/release/bin
srv@local:~/monero/build/release/bin$ ./monero-wallet-cli
This is the command line monero wallet. It needs to connect to a monero
daemon to work correctly.

Monero 'Helium Hydra' (v0.11.1.0-master-a03d34f)
Logging to ./monero-wallet-cli.log
Specify wallet file name (e.g., MyWallet). If the wallet doesn't exist, it will be created.
Wallet file name (or Ctrl-C to quit): mycryptomonero
No wallet found with that name. Confirm creation of new wallet named: mycryptomonero
(Y/Yes/N/No): Y
Generating new wallet...
Enter a new password for the wallet: 
Confirm password: 
List of available languages for your wallet's seed:
0 : Deutsch
1 : English
2 : Español
3 : Français
4 : Italiano
5 : Nederlands
6 : Português
7 : русский язык
8 : 日本語
9 : 简体中文 (中国)
10 : Esperanto
11 : Lojban
Enter the number corresponding to the language of your choice: 1
Generated new wallet: 44sEYMFqd8WMcsx5WcjY9WTYyYnBjE8o1DivymU457CwievE6yNuoWARULgDsn9AK24sUwAWa2Jr3SavgnD7a7V7QfBqifZ
View key: 61c3f248516175896bda32c85fa36452081ba79aecde962ea199d5e0ffb3080d
**********************************************************************
Your wallet has been generated!
To start synchronizing with the daemon, use the "refresh" command.
Use the "help" command to see the list of available commands.
Use "help <command>" to see a command's documentation.
Always use the "exit" command when closing monero-wallet-cli to save 
your current session's state. Otherwise, you might need to synchronize 
your wallet again (your wallet keys are NOT at risk in any case).


NOTE: the following 25 words can be used to recover access to your wallet. Write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control.

voice imitate acquire zoom gambit sack dwelt goggles
banjo vowels jetting muffin axis shyness sieve zebra
together elephant joking foxy quick doggy toffee unrest sack
**********************************************************************
Starting refresh...
Refresh done, blocks received: 0                                
Untagged accounts:
          Account               Balance      Unlocked balance                 Label
 *       0 44sEYM        0.000000000000        0.000000000000       Primary account
----------------------------------------------------------------------------------
          Total        0.000000000000        0.000000000000
Currently selected account: [0] Primary account
Tag: (No tag assigned)
Balance: 0.000000000000, unlocked balance: 0.000000000000
Background refresh thread started
[wallet 44sEYM]:

This sequence of numbers and alphabets

44sEYMFqd8WMcsx5WcjY9WTYyYnBjE8o1DivymU457CwievE6yNuoWARULgDsn9AK24sUwAWa2Jr3SavgnD7a7V7QfBqifZ

is your public Monery address, which could be used to receive Monero coins. Monero has also a view key:

61c3f248516175896bda32c85fa36452081ba79aecde962ea199d5e0ffb3080d

which can be used ONLY to view balances (In fact this key could be used to generate a new Monero wallet address, which has read only capabilities of your original wallet address – this is useful when you save your original keys offline and you just want to check balances on an online box).
On Line 9 (highlighted) you enter the name of your wallet, if new it will be created.
On Line 11 (highlighted) expected to confirm creation of new wallet with the name you entered in Line 9.
On Line 28 (highlighted) List of available languages for your wallet’s seed – the words, which could be used to recover access to your wallet.

After generating the address two things must be done:

  1. Backup your Monero wallet file, which is placed in the same directory where the monero-wallet-cli is:
    srv@local:~/monero/build/release/bin$ ls -altr 
    total 55228
    drwxrwxr-x 12 ubuntu ubuntu     4096 Mar 14 13:36 ..
    -rwxrwxr-x  1 ubuntu ubuntu  4212176 Mar 14 13:38 monero-blockchain-export
    -rwxrwxr-x  1 ubuntu ubuntu  4440496 Mar 14 13:38 monero-blockchain-import
    -rwxrwxr-x  1 ubuntu ubuntu 10222816 Mar 14 13:39 monero-gen-trusted-multisig
    -rwxrwxr-x  1 ubuntu ubuntu  9776408 Mar 14 13:40 monerod
    -rwxrwxr-x  1 ubuntu ubuntu 11004464 Mar 14 13:40 monero-wallet-cli
    -rwxrwxr-x  1 ubuntu ubuntu 11387912 Mar 14 13:40 monero-wallet-rpc
    -rw-------  1 ubuntu ubuntu     1005 Apr 25 01:14 mycryptomonero.keys
    -rw-rw-r--  1 ubuntu ubuntu     7269 Apr 25 01:21 monerod.log
    -rw-------  1 ubuntu ubuntu     8845 Apr 25 01:28 monero-wallet-cli.log
    -rw-------  1 ubuntu ubuntu  5463073 Apr 25 01:28 mycryptomonero
    drwxrwxr-x  2 ubuntu ubuntu     4096 Apr 25 01:28 .
    

    So you must backup the two files starting with your Monero wallet name (you entered above): “mycryptomonero” and “mycryptomonero.keys”

  2. Backup your password for the private key!

* Open existing wallet.

And available commands.
You can open your existing wallet when asked for the wallet file name enter the name “mycryptomonero” (the file name is expected to be in the same directory as the monero-wallet-cli) and then enter the password. And if you enter “help” you can see all the available commands of the wallet program “monero-wallet-cli”

srv@local:~/monero/build/release/bin$ ./monero-wallet-cli
This is the command line monero wallet. It needs to connect to a monero
daemon to work correctly.

Monero 'Helium Hydra' (v0.11.1.0-master-a03d34f)
Logging to ./monero-wallet-cli.log
Specify wallet file name (e.g., MyWallet). If the wallet doesn't exist, it will be created.
Wallet file name (or Ctrl-C to quit): mycryptomonero
Wallet and key files found, loading...
Wallet password: 
Opened wallet: 44sEYMFqd8WMcsx5WcjY9WTYyYnBjE8o1DivymU457CwievE6yNuoWARULgDsn9AK24sUwAWa2Jr3SavgnD7a7V7QfBqifZ
**********************************************************************
Use the "help" command to see the list of available commands.
Use "help <command>" to see a command's documentation.
**********************************************************************
Starting refresh...
Refresh done, blocks received: 0                                
Untagged accounts:
          Account               Balance      Unlocked balance                 Label
 *       0 44sEYM        0.000000000000        0.000000000000       Primary account
----------------------------------------------------------------------------------
          Total        0.000000000000        0.000000000000
Currently selected account: [0] Primary account
Tag: (No tag assigned)
Balance: 0.000000000000, unlocked balance: 0.000000000000
Background refresh thread started
[wallet 44sEYM]: help
Commands: 
  account
    account new <label text with white spaces allowed>
    account switch <index> 
    account label <index> <label text with white spaces allowed>
    account tag <tag_name> <account_index_1> [<account_index_2> ...]
    account untag <account_index_1> [<account_index_2> ...]
    account tag_description <tag_name> <description>
  address [ new <label text with white spaces allowed> | all | <index_min> [<index_max>] | label <index> <label text with white spaces allowed>]
  address_book [(add ((<address> [pid <id>])|<integrated address>) [<description possibly with whitespaces>])|(delete <index>)]
  balance [detail]
  bc_height
  check_reserve_proof <address> <signature_file> [<message>]
  check_spend_proof <txid> <signature_file> [<message>]
  check_tx_key <txid> <txkey> <address>
  check_tx_proof <txid> <address> <signature_file> [<message>]
  donate [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <amount> [<payment_id>]
  encrypted_seed
  export_key_images <file>
  export_multisig_info <filename>
  export_outputs <file>
  export_raw_multisig_tx <filename>
  fee
  finalize_multisig <string> [<string>...]
  get_description
  get_reserve_proof (all|<amount>) [<message>]
  get_spend_proof <txid> [<message>]
  get_tx_key <txid>
  get_tx_note <txid>
  get_tx_proof <txid> <address> [<message>]
  help [<command>]
  import_key_images <file>
  import_multisig_info <filename> [<filename>...]
  import_outputs <file>
  incoming_transfers [available|unavailable] [verbose] [index=<N1>[,<N2>[,...]]]
  integrated_address [<payment_id> | <address>]
  locked_transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <addr> <amount> <lockblocks> [<payment_id>]
  make_multisig <threshold> <string1> [<string>...]
  password
  payment_id
  payments <PID_1> [<PID_2> ... <PID_N>]
  prepare_multisig
  refresh
  rescan_bc
  rescan_spent
  save
  save_bc
  save_watch_only
  seed
  set <option> [<value>]
  set_daemon <host>[:<port>]
  set_description [free text note]
  set_log <level>|{+,-,}<categories>
  set_tx_note <txid> [free text note]
  show_transfer <txid>
  show_transfers [in|out|pending|failed|pool] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]]
  sign <file>
  sign_multisig <filename>
  sign_transfer <file>
  spendkey
  start_mining [<number_of_threads>] [bg_mining] [ignore_battery]
  status
  stop_mining
  submit_multisig <filename>
  submit_transfer
  sweep_all [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> [<payment_id>]
  sweep_below <amount_threshold> [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> [<payment_id>]
  sweep_single [<priority>] [<ring_size>] <key_image> <address> [<payment_id>]
  sweep_unmixable
  transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> <amount> [<payment_id>]
  transfer_original [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> <amount> [<payment_id>]
  unspent_outputs [index=<N1>[,<N2>,...]] [<min_amount> [<max_amount>]]
  verify <filename> <address> <signature>
  viewkey
  wallet_info

* For a maximum security you could do the following

In fact you could do the following:

  1. Install a fresh copy of Ubuntu
  2. Build from source the Monero software
  3. Unplug the system from the Internet
  4. Generate the wallet
  5. Backup the wallet
  6. Generate a wallet from your view key to check balances only

Thus your wallet will never be exposed on an online machine!

* It is absolutely necessary your crypto wallet addresses to have a password for security reasons and DO NOT FORGET IT you cannot recover the password therefore your access to the wallet! If you lose your password you lose ALL your funds in the address! It’s better to write it down somewhere on a safe physical place.

One thought on “Generate a new Monero address (wallet)”

Leave a Reply

Your email address will not be published. Required fields are marked *