13

Using monero-wallet-cli, I want to safely create a cold storage wallet and make a watch-only counterpart which I later want to use on my Windows PC to monitor the balance. How can I do this?

1 Answer 1

16

Monero Cold Storage, Monitoring, and Spending Guide (MS Windows) - Part 1: Creating The Wallet

  1. Create a bootable USB drive. Follow instructions here.

  2. Get the latest Monero Core binaries. If you followed step 1. to the letter, you will need Windows 64-bit binaries. Extract from .zip and copy them to your bootable drive.

  3. Reboot into your USB drive. When it boots, you will be presented with a console. Initially, you should see:

X:\windows\system32>wpeinit

X:\windows\system32>
  1. Change drive to your USB drive by commanding d:. Note that it could be some other letter depending on your system configuration. After commanding d:, command dir and you will see a list of files & folders on the drive which can tell you where you are and if d: is the correct drive. To help with this, you could also start notepad by commanding notepad and then select File->Open which will let you browse your computer using the standard folder picker, and help you understand which is the correct drive. Close notepad and type the correct drive letter:
X:\Windows\System32>d:

D:\>
  1. Change working folder to wherever you copied monero binaries to. For example, type cd d:\_tools\monero.win.x64.v0-10-1-0\. Note: you can use TAB to auto-complete folder names, just type in the first few letters and push TAB to cycle through suggestions.
D:\>cd _tools\monero.win.x64.v0-10-1-0

D:\_tools\monero.win.x64.v0-10-1-0>
  1. Type monero-wallet-cli.exe. Again, TAB works to auto-complete, so just type mon and hit TAB a few times until monero-wallet-cli.exe appears.
D:\_tools\monero.win.x64.v0-10-1-0>monero-wallet-cli.exe
Monero 'Wolfram Warptangent' (v0.10.1.0-release)
Logging at log level 0 to D:\_tools\monero.win.x64.v0-10-1-0\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):
  1. Type in your wallet file name and press Enter.
Wallet file name (or Ctrl-C to quit): myWallet
No wallet found with that name. Confirm creation of new wallet named: myWallet
(Y/Yes/N/No):
  1. Type Y and press Enter to continue.
(Y/Yes/N/No): Y
Generating new wallet...
Enter a password for your new wallet:
  1. Type in your password. I advise to type some long gibberish here as you don't really want to save it anyway but it will get saved automatically (to your USB drive). If you type a lot of random characters, it will be impossible to crack open even if saved. Note: you could decide to save it and use this USB as your cold storage instead of paper. If that is the case, set some strong password you will remember and make sure to NEVER PLUG THIS USB INTO A RUNNING SYSTEM if you want to keep it cold.
Enter a password for your new wallet: ****
Confirm Password: ****
  1. Pick a language for the mnemonic.
List of available languages for your wallet's seed:
0 : English
1 : Spanish
2 : German
3 : Italian
4 : Portuguese
5 : Russian
6 : Japanese
Enter the number corresponding to the language of your choice: 0
  1. Your wallet will have been created. Below is the console output.
Generated new wallet: 48LQ1ohLKvvfNv2Kesy1gEe4jm2TfUexM2yS2hGjqLanHt9xbAKZ
Bsj8cyvRiHFmUPFpQwCP9jFm3BXsVAEHBEAQFT6u2cT
View key: 42f04a74bdb49c157fc40b36ea79b1766c2a6c1951b9fe8fa6e9a0fb57ee4809
**********************************************************************
Your wallet has been generated!
To start synchronizing with the daemon, use "refresh" command.
Use "help" command to see the list of available commands.
Always use "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).


PLEASE NOTE: the following 25 words can be used to recover access to your wallet
. Please 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.

fictional aplomb ripped habitat onion zesty foggy tell
dilute nearby ditch autumn ornament muppet sneeze spout
sawmill zinger firm puddle sickness pliers offend oxidant ditch
**********************************************************************
Error: wallet failed to connect to daemon: http://localhost:18081. Daemon either
 is not started or wrong port was passed. Please make sure daemon is running or
restart the wallet with the correct daemon address.
Error: wallet failed to connect to daemon: http://localhost:18081. Daemon either
 is not started or wrong port was passed. Please make sure daemon is running or
restart the wallet with the correct daemon address.
Background refresh thread started
[wallet 48LQ1o]:
  1. You will be presented with your mnemonic seed written below the green text. In our example it's fictional aplomb ripped habitat onion zesty foggy tell dilute nearby ditch autumn ornament muppet sneeze spout sawmill zinger firm puddle sickness pliers offend oxidant ditch. Write yours down and store safely. Make backups. Unless you choose to save the wallet file, THIS IS THE ONLY THING THAT WILL LET YOU ACCESS YOUR FUNDS. IF YOU LOSE IT - YOUR FUNDS WILL BE GONE FOREVER. It goes without saying that if someone finds it, he could steal your funds and probably get away with it, too.

  2. When in wallet, run the command save_watch_only. You will be prompted for a password. Use a good, strong password. Even if the watch-only wallet can't be used for spending, it will still contain some data which is better kept private.

[wallet 48LQ1o]: save_watch_only
Password for the new watch-only wallet: ****
Enter new password again: ****
[wallet 48LQ1o]:
  1. Type exit to exit the wallet. You will be returned to the command prompt.
[wallet 48LQ1o]: exit

D:\_tools\monero.win.x64.v0-10-1-0>
  1. Result: you will have created 4 files. To see them, command dir.
D:\_tools\monero.win.x64.v0-10-1-0>dir
 Volume in drive D is WINPE
 Volume Serial Number is DEB2-6BBC

 Directory of D:\_tools\monero.win.x64.v0-10-1-0

12/20/2016  06:52 PM              .
12/20/2016  06:52 PM              ..
12/13/2016  06:36 PM        13,497,944 monero-blockchain-export.exe
12/13/2016  06:36 PM        13,561,678 monero-blockchain-import.exe
12/13/2016  06:36 PM         6,785,009 monero-utils-deserialize.exe
12/13/2016  06:37 PM        15,977,627 monero-wallet-cli.exe
12/20/2016  08:29 PM            17,043 monero-wallet-cli.log
12/13/2016  06:37 PM        16,757,062 monero-wallet-rpc.exe
12/13/2016  06:38 PM        57,430,407 monerod.exe
12/20/2016  08:23 PM               702 myWallet.keys
12/20/2016  08:23 PM                95 myWallet.address.txt
12/20/2016  08:28 PM               841 myWallet.keys-watchonly
12/20/2016  08:29 PM               353 myWallet
              11 File(s)    124,028,761 bytes
               2 Dir(s)  31,252,447,232 bytes free

D:\_tools\monero.win.x64.v0-10-1-0>
  1. Delete all the wallet files except the myWallet.keys-watchonly file. The command is del followed by a list of filenames to delete.
D:\_tools\monero.win.x64.v0-10-1-0>del myWallet myWallet.address.txt myWallet.keys

D:\_tools\monero.win.x64.v0-10-1-0>
  1. Command dir to check that they're gone.
D:\_tools\monero.win.x64.v0-10-1-0>dir
 Volume in drive D is WINPE
 Volume Serial Number is DEB2-6BBC

 Directory of D:\_tools\monero.win.x64.v0-10-1-0

12/20/2016  06:52 PM              .
12/20/2016  06:52 PM              ..
12/13/2016  06:36 PM        13,497,944 monero-blockchain-export.exe
12/13/2016  06:36 PM        13,561,678 monero-blockchain-import.exe
12/13/2016  06:36 PM         6,785,009 monero-utils-deserialize.exe
12/13/2016  06:37 PM        15,977,627 monero-wallet-cli.exe
12/20/2016  08:29 PM            17,043 monero-wallet-cli.log
12/13/2016  06:37 PM        16,757,062 monero-wallet-rpc.exe
12/13/2016  06:38 PM        57,430,407 monerod.exe
12/20/2016  08:28 PM               841 myWallet.keys-watchonly
               8 File(s)    124,027,611 bytes
               2 Dir(s)  31,252,496,384 bytes free

D:\_tools\monero.win.x64.v0-10-1-0>
  1. Command rename to rename the generated watch-only keys file to a standard .keys filename.
D:\_tools\monero.win.x64.v0-10-1-0>rename myWallet.keys-watchonly myWallet-watchonly.keys

D:\_tools\monero.win.x64.v0-10-1-0>
  1. Open the watch-only wallet to check that all is ok.
D:\_tools\monero.win.x64.v0-10-1-0>monero-wallet-cli --wallet-file myWallet-watchonly
Monero 'Wolfram Warptangent' (v0.10.1.0-release)
Logging at log level 0 to D:\_tools\monero.win.x64.v0-10-1-0\monero-wallet-cli.log
Password: ****
Opened watch-only wallet: 48LQ1ohLKvvfNv2Kesy1gEe4jm2TfUexM2yS2hGjqLanHt9xbAKZ
Bsj8cyvRiHFmUPFpQwCP9jFm3BXsVAEHBEAQFT6u2cT
**********************************************************************
Use "help" command to see the list of available commands.
**********************************************************************
Error: wallet failed to connect to daemon: http://localhost:18081. Daemon either
 is not started or wrong port was passed. Please make sure daemon is running or
restart the wallet with the correct daemon address.
Error: wallet failed to connect to daemon: http://localhost:18081. Daemon either
 is not started or wrong port was passed. Please make sure daemon is running or
restart the wallet with the correct daemon address.
Background refresh thread started
[wallet 48LQ1o]:
  1. Voila, you should now have:

    • The watch-only .keys file
    • The watch-only cache file
    • Paper back-up of your seed mnemonic. THIS IS THE ONLY THING THAT WILL LET YOU ACCESS YOUR FUNDS, IF YOU LOSE IT - YOUR FUNDS WILL BE GONE FOREVER.
  2. Time to test. This is important. I trust you've written down the mnemonic correctly, but better be sure you didn't make some error. We will test that the restored address will match your watch-only wallet's address. Start the wallet with the command monero-wallet-cli.exe --restore-deterministic-wallet. You will be prompted for a filename, confirmation, seed mnemonic, height and password (again, use some long random gibberish).

D:\_tools\monero.win.x64.v0-10-1-0>monero-wallet-cli.exe --restore-deterministic-wallet
Monero 'Wolfram Warptangent' (v0.10.1.0-release)
Logging at log level 0 to D:\_tools\monero.win.x64.v0-10-1-0\monero-wallet-cli.log
Specify a new wallet file name for your restored wallet (e.g., MyWallet).
Wallet file name (or Ctrl-C to quit): test
Confirm wallet name: test
(Y/Yes/N/No): Y
Generating new wallet...
Specify Electrum seed: fictional aplomb ripped habitat onion zesty foggy tell di
lute nearby ditch autumn ornament muppet sneeze spout sawmill zinger firm puddle
 sickness pliers offend oxidant ditch
Restore from specific blockchain height (optional, default 0): 0
Enter a password for your new wallet: ****
Confirm Password: ****
Generated new wallet: 48LQ1ohLKvvfNv2Kesy1gEe4jm2TfUexM2yS2hGjqLanHt9xbAKZBsj8cy
vRiHFmUPFpQwCP9jFm3BXsVAEHBEAQFT6u2cT
View key: 42f04a74bdb49c157fc40b36ea79b1766c2a6c1951b9fe8fa6e9a0fb57ee4809
**********************************************************************
Your wallet has been generated!
...
  1. Check that the address is the same, exit the wallet and again delete the generated files.
...
D:\_tools\monero.win.x64.v0-10-1-0>del test test.address.txt test.keys

D:\_tools\monero.win.x64.v0-10-1-0>dir
 Volume in drive D is WINPE
 Volume Serial Number is DEB2-6BBC

 Directory of D:\_tools\monero.win.x64.v0-10-1-0

12/20/2016  06:52 PM              .
12/20/2016  06:52 PM              ..
12/13/2016  06:36 PM        13,497,944 monero-blockchain-export.exe
12/13/2016  06:36 PM        13,561,678 monero-blockchain-import.exe
12/13/2016  06:36 PM         6,785,009 monero-utils-deserialize.exe
12/13/2016  06:37 PM        15,977,627 monero-wallet-cli.exe
12/20/2016  09:01 PM            21,006 monero-wallet-cli.log
12/13/2016  06:37 PM        16,757,062 monero-wallet-rpc.exe
12/13/2016  06:38 PM        57,430,407 monerod.exe
12/20/2016  08:47 PM               868 myWallet-watchonly.keys
12/20/2016  08:49 PM               353 myWallet-watchonly
               9 File(s)    124,031,954 bytes
               2 Dir(s)  31,252,480,000 bytes free

D:\_tools\monero.win.x64.v0-10-1-0>
  1. You can copy the resulting myWallet-watchonly.keys file to your online PC. If you opted to use the USB drive as cold storage, you will need another one to avoid plugging the drive with your full wallet into your online PC.

This concludes the 1st part of the guide. Second part will cover transferring first funds to your wallet and monitoring your balance.

1
  • 1
    Is part two done? - And if so, where to find it? Mar 31, 2021 at 21:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.