Actions

Monero

About this Monero Page
Support Status stable
Difficulty easy
Maintainer OSNF2P, thotbot
Support Support

What is Monero?[edit]

Monero is a private-centric cryptocurrency launched in 2014 to allow direct and anonymous digital payments without being dependent on a central authority.

Installation[edit]

Apart from these hints, installing monero in Whonix does not differ from installing monero on any Linux based distribution.

Advanced Qubes users could look into CLI Wallet/Daemon Isolation with Qubes + Whonix [1] - untested by Whonix developers.

[2]

Update your package lists.

sudo apt-get update

Install dependencies. [3]

sudo apt-get install libhidapi-dev

Use Tor Browser, go to monero download page https://getmonero.org/downloads/ and download monero. [4] [5]

[6]

security TODO: do proper verification - https://getmonero.org/resources/user-guides/verification-allos-advanced.html

Hash check. Get the hash of the file you downloaded.

sha256sum linux64

Compare with SHA256 Hash (GUI) from the monero download page.

Extract.

tar xvf linux64

Starting[edit]

cd ./monero-gui-*

./start-gui.sh

Installation with a remote node[edit]

Using a remote node provides a quick way to set up your Monero wallet. You will not have to download the entire blockchain.

It is important to note that the remote node:

  • can not spend your XMR (you hold the keys)
  • does not know your IP address (we are connecting to it over Tor)
  • does not know your XMR address
  • does not know your balance or private view key

However, using a remote node is not without risk, you can read about the possible attacks here: https://moneroworld.com/

In general, if the wallet warns you about the node misbehaving exit the wallet and connect to a different node.

This guide was written for Whonix 14 and Monero v0.13.0.4

It is recommended that you open this guide in Whonix.

Choosing your preferred wallet[edit]

Monero has a command line interface (CLI) as well as a graphical interface (GUI). Go with the CLI if you feel at home with the terminal, otherwise choose the GUI.

Instructions for CLI[edit]

Downloading the wallet[edit]

1. Navigate to https://getmonero.org/downloads and download the Linux, 64 bit (Command-line Tools Only) version

  • Save the file in Browser > Downloads

2. Open the file explorer (Dolphin)

  • Wait for the download to complete
  • Downloads button -> Open Containing Folder

3. Right click the archive you just downloaded and click Extract -> Extract Archive Here

  • After extraction a folder named 'monero-v0.13.0.4' should appear.

4. Copy this folder to your Home directory (/home/user)

  • In this sidebar under 'Places' click 'Home'
  • Right click -> Paste One Folder
  • If the option to paste is greyed out you're probably in /home/ instead of /home/user/.

Creating a desktop shortcut[edit]

1. Click on the hamburger menu in the top left corner of the screen -> Configure Desktop

  • Move Tor Browser out of the way if you're not able to see it

2. Under 'Wallpaper' change 'Layout' to 'Folder View', then click Apply

  • Icons should now appear on the desktop

3. Open the terminal

  • Double click on Konsole on the desktop

4. Copy and paste the following in the terminal and hit enter:

printf "[Desktop Entry]\nComment=Start Monero wallet\nExec=~/monero-v0.13.0.4/monero-wallet-cli --daemon-host xmkwypann4ly64gh.onion:18081\nPath=~/monero-v0.13.0.4/\nTerminal=true\nType=Application\nName=Monero CLI" > ~/Desktop/MoneroCLI.desktop && chmod +x ~/Desktop/MoneroCLI.desktop

A shortcut named 'Monero CLI' should now appear on your desktop. You can now close the terminal.

Setting up the wallet[edit]

1. Double click the desktop shortcut

  • A terminal window will now appear

2. Type a name for your wallet (e.g. monero, remember this) and hit enter

3. Confirm the creation of a new wallet

  • Type 'Y' and hit enter

4. Enter a password and confirm the password

5. Select the desired language for your 25 word seed.

  • For English press 1 followed by enter
  • If it gets stuck here after hitting enter, your node is down. Scroll down to troubleshooting for instructions on how to resolve this.

6. Write down your 25 word seed and optionally the current block height (You can find this here: https://moneroblocks.info/ )

  • If you fail to do this and something happens to your Whonix install your Monero are gone forever.
  • You can use this seed to recover your wallet
  • The wallet creation height can be used to restore the wallet from the seed faster

7. The wallet will now refresh, this can take a couple minutes.

  • If you get "Error: refresh failed: no connection to daemon": your node is down. Scroll down to troubleshooting for instruction on how to resolve this.

Congratulations, your CLI wallet is now set-up.

Common commands[edit]

For a full list of commands:

help                

To show your balance:

balance

To view your primary address:

address

To create a new subaddress:

address new <label>

To view all (sub)addresses:

address all

To create a new transaction:

transfer <address> <amount> <paymentID>

Payment ID is optional, a receiving party will ask for it if necessary. For transactions between personal wallets you can always omit it. If you are sending to an integrated address don't add a payment ID.

Incoming transactions will automatically show up in the CLI. It takes 10 blocks (~20 minutes) before your balance unlocks after receiving a tx, you will know how much balance is spendable by typing balance and looking for unlocked balance.

The next time you boot Whonix[edit]

Double click the 'Monero CLI' shortcut on your desktop. Enter your wallet name and password, and allow the wallet to refresh.

CLI Troubleshooting[edit]

Changing the remote node

  • Close the wallet if it is open.
  • Right click the shortcut on the desktop -> Open With -> KWrite
  • Replace the daemon host (e.g. zdhkwneu7lfaum2p.onion:18099 ) with a different one from the list below. Make sure you also copy the correct port.
  • Save the file and restart your wallet with the shortcut, your wallet should start syncing again.
xmkwypann4ly64gh.onion:18081
mmp26upm3gig2ltk.onion:18089  
xmrag4hf5xlabmob.onion:18081
monerospv4fuwduf.onion:18081
7245ifq4iw3uvexs.onion:18081
zdhkwneu7lfaum2p.onion:18099

Instructions for GUI[edit]

Downloading the wallet[edit]

1. Navigate to https://getmonero.org/downloads and download the Linux, 64-bit version.

  • Save the file in Browser > Downloads

2. Open the file explorer (Dolphin)

  • Wait for the download to complete
  • Downloads button -> Open Containing Folder

3. Right click the archive you just downloaded and click Extract -> Extract Archive Here

  • After extraction a folder named 'monero-gui-v0.13.0.4' should appear.

4. Copy this folder to your Home directory (/home/user)

  • In the sidebar under 'Places' click 'Home'
  • Right click -> Paste One Folder
  • If the option to paste is greyed out you're probably in /home/ instead of /home/user/.

Installing the required dependencies[edit]

1. Open the terminal

  • Application Launcher -> Terminal

2. In the terminal enter the following

sudo apt-get update && sudo apt-get install libhidapi-dev
  • The default password is changeme

Creating a desktop shortcut[edit]

1. Click on the hamburger menu in the top left corner of the screen -> Configure Desktop

  • Move Tor Browser out of the way if you're not able to see it

2. Under 'Wallpaper' change 'Layout' to 'Folder View', then click Apply

  • Icons should now appear on the desktop

3. Open the terminal

  • Double click on Konsole on the desktop

4. Copy and paste the following in the terminal and hit enter:

printf "[Desktop Entry]\nComment=Start Monero wallet\nExec=~/monero-gui-v0.13.0.4/start-gui.sh \nPath=~/monero-gui-v0.13.0.4/\nTerminal=true\nType=Application\nName=Monero GUI" > ~/Desktop/MoneroGUI.desktop && chmod +x ~/Desktop/MoneroGUI.desktop

A shortcut named 'Monero GUI' should now appear on your desktop. You can now close the terminal.

Setting up the wallet[edit]

1. Double click the desktop shortcut

  • A terminal window will now appear, followed by the GUI

2. Select your language

This guide assumes you want to create a new wallet. If you already have a 25 word seed or a wallet file that you want to restore scroll down to GUI troubleshooting for instructions.

3. Choose 'Create a new wallet'

4. Write down your 25 word seed and optionally the current block height (You can find this here: https://moneroblocks.info/ )

  • If you fail to do this and something happens to your Whonix install your Monero are gone forever.
  • You can use this seed to recover your wallet
  • The wallet creation height can be used to restore the wallet from the seed faster

5. Enter a password

6. Click on 'Connect to a remote node'

  • In 'Remote Node Hostname / IP' enter: xmkwypann4ly64gh.onion
  • In 'Port' enter 18081

7. Click on 'Use Monero'

8. Allow the wallet to synchronize, this can take a couple minutes. Once the top progress bar in the bottom left corner reads 'Wallet is synchronized' you're good to go.

  • If after a while a notification pops up with 'Starting local node in..' or the wallet gets stuck on 'Waiting for Daemon to start' or you get an error message with 'Daemon failed to start' -> the node is down. Check the GUI troubleshooting section for instructions on how to resolve.

Congratulations, your Monero GUI wallet is now set-up.

Common actions[edit]

To create a new subaddress: Receive -> Create new address

To send a transaction: Go to send, fill in the amount and address. You can leave the payment ID blank if you are not requested to provide it. You don't have to add the payment ID if you are sending to an integrated address. Do not change the advanced options. Use the default ringsize.

The next time you boot Whonix[edit]
  • Double click the 'Monero GUI' desktop shortcut
  • Enter your password
  • Allow the wallet to synchronize
GUI troubleshooting[edit]

Changing the remote node

  • Go to settings (restart the wallet if nessessary)
  • Under 'Daemon mode' press 'Remote Node' if it isn't already selected
  • Enter a different Address and Port from the list below
  • Click 'Connect'
  • It can take a minute before the wallet starts synchronizing, if nothing happens try another node.
xmkwypann4ly64gh.onion:18081
mmp26upm3gig2ltk.onion:18089  
xmrag4hf5xlabmob.onion:18081
monerospv4fuwduf.onion:18081
7245ifq4iw3uvexs.onion:18081
zdhkwneu7lfaum2p.onion:18099

Restoring a wallet from file

  • Click 'Open a wallet from file'
  • Navigate to and select your <walletname>.keys file
  • Enter the password associated with that wallet
  • If your client gives an error -> close and restart your wallet. It should work now, if not, try restoring from seed.
  • Continue with step 6 of Setting up the wallet.

Restoring a wallet from the 25 word seed

  • Click 'Restore wallet from keys or mnemonic seed'
  • Enter your 25 word seed
  • Enter your wallet creation height / restore height (Don't know it? See below)
  • Continue with step 5 of Setting up the wallet

Calculating the wallet creation height'

  • Take the current height from https://moneroblocks.info and subtract (720 * the number of days since you created the wallet). It doesn't have to be exactly right, but should at least be before the the first transaction to your wallet. Use this value as your restore height.

Large number of blocks remaining after restoring from seed

  • You probably forgot to enter the restore height. To fix this go to Settings, scroll down to Debug info. Click to change wallet creation height and enter your wallet creation height, then save. You may need to reopen the wallet to have it detect this.

Forum Discussion[edit]

[edit]

After having installed monero, please consider making a donation to Whonix to keep it running for the years to come.

Donate Monero (XMR) to Whonix.

49sP9cMQ5jvhzKW477TH6NJJ2z3pqD8pYRqCyCAqN1Y7QYQMxKf7SPq356BBiNcRwzagpcjqkK66LG4wwr37YjSS3kY3x5P

Architecture[edit]

Monero works by having contributors host large files which are equivalent to a public ledger. Any time someone broadcasts a transaction, every ledger maintainer updates their copy of the ledger and ensures no cheating or fraud has occurred. as with most cryptocurrencies, transactions are send to Public Addresses which are derived from personally created private keys.

Since transactions could otherwise be traced by watching which addresses are sending to each-other, Monero uses a Diffie-hallman key exchange using the transaction information on the sender's side and the public address on the receivers end of a transaction to encrypt the recipients address on the ledger. To protect the sender, spending Monero is equivalent to forwarding the output of the previous transaction, so a users address is never stored on the ledger at all - this technique is called Stealth Addressing.

Since this solution is imperfect, and allows EABE attacks and is dependent on ECC for the key exchange, Monero uses a second layer of anonymity called Ring Signatures. When signing a transaction and broadcasting it to the network, Ring Signatures take signers from previous transactions and forge a new signature with Ring Size = N, where you cannot tell which entity in the group N actually authorized a transaction. This further obfuscated the blockchain and reduces the available attack vectors on the cryptocurrency as a whole, as well as introduces several zero knowledge proofs which prevent absolute analysis of the ledger.

Ring Signatures combined with Stealth Addressing prevent many attack vectors, but since new transactions are forwarded outputs from previous ones you can still perform analysis by viewing the amounts spent on-chain. To address this potential issue, a solution called RingCT was introduced which obfuscates the amount spent in a transaction.

Further attack vectors including cross-referencing an address posted in multiple places and IP leaks when connecting to the network are further developments sought out by the Monero community. These potential issues are addressed with Subaddresses and Kovri respectively.

See Also[edit]

It is recommended to read the Money wiki page as it contains a lot related information on how to make anonymous payments.

Footnotes[edit]

  1. qubes-users - Guide: Monero wallet/daemon isolation w/qubes+whonix
  2. Only monerod is currently available from Debian backports. Monero GUI is not yet available from packages.debian.org. Package monero can be installed from Debian backports. This is non-ideal, see footnote. 1. Boot Whonix-Workstation (whonix-ws-14) TemplateVM. 2. Add the current Debian stable backports codename stretch-backports to Debian apt sources. Note: this applies to Whonix 14.0.0.7.4. Later Whonix versions may use a codename different to stretch. In Whonix-Workstation (whonix-ws-14) TemplateVM, run.
    sudo su -c "echo -e 'deb http://http.debian.net/debian stretch-backports main contrib non-free' > /etc/apt/sources.list.d/backports.list"
    Alternatively, users who like Onionizing Repositories can set the .onion mirror.
    sudo su -c "echo -e 'deb tor+http://vwakviie2ienjx6t.onion/debian stretch-backports main contrib non-free' > /etc/apt/sources.list.d/backports.list"
    3. Update the package lists.
    sudo apt-get update
    4. Install the select software.
    sudo apt-get -t stretch-backports install monero
    The procedure is now complete. 5. Undo. On occasion it is necessary to undo this configuration, for example when upgrading from Debian stretch to buster. To proceed, run.
    sudo rm /etc/apt/sources.list.d/backports.list
  3. The follow package is required if you want to use monero-gui.
  4. We avoid wget, since that does not enforce https.
  5. We avoid scurl, since there is no redirecting stable link. TODO: can probably be resolved by telling curl to follow redirects.

Cite error: <ref> tag with name "prefer_stable_apt_sources" defined in <references> is not used in prior text.

Cite error: <ref> tag defined in <references> has no name attribute.

Random News:

Check out the Whonix blog.


https | (forcing) onion

Share: Twitter | Facebook

This is a wiki. Want to improve this page? Help is welcome and volunteer contributions are happily considered! See Conditions for Contributions to Whonix, then Edit! IP addresses are scrubbed, but editing over Tor is recommended. Edits are held for moderation.

Whonix is a licensee of the Open Invention Network. Unless otherwise noted, the content of this page is copyrighted and licensed under the same Libre Software license as Whonix itself. (Why?)