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?
- 20,004
- 3
- 49
- 105
1 Answers
Monero Cold Storage, Monitoring, and Spending Guide (MS Windows) - Part 1: Creating The Wallet
Create a bootable USB drive. Follow instructions here.
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.
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>
- Change drive to your USB drive by commanding
d:. Note that it could be some other letter depending on your system configuration. After commandingd:, commanddirand you will see a list of files & folders on the drive which can tell you where you are and ifd:is the correct drive. To help with this, you could also start notepad by commandingnotepadand then selectFile->Openwhich 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:\>
- 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>
- Type
monero-wallet-cli.exe. Again, TAB works to auto-complete, so just typemonand hit TAB a few times untilmonero-wallet-cli.exeappears.
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):
- 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):
- Type
Yand press Enter to continue.
(Y/Yes/N/No): Y Generating new wallet... Enter a password for your new wallet:
- 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: ****
- 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
- 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]:
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.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]:
- Type
exitto exit the wallet. You will be returned to the command prompt.
[wallet 48LQ1o]: exit D:\_tools\monero.win.x64.v0-10-1-0>
- 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>
- Delete all the wallet files except the
myWallet.keys-watchonlyfile. The command isdelfollowed 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>
- Command
dirto 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>
- Command
renameto 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>
- 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]:
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.
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! ...
- 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>
- You can copy the resulting
myWallet-watchonly.keysfile 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.
- 20,004
- 3
- 49
- 105