Monero: Private And Difficult to Use
--
Monero is a privacy coin best known for its use on DarkNet markets. What’s it like being a Monero user 3 years after launch? Andreas finds out.
Today I’ll be reviewing Monero, a privacy focused coin. Monero is not a fork of Bitcoin, but built on CryptoNote. I’m not sure why I’ve never tried Monero before. I’m looking forward to reviewing it.
TL;DR: Monero offers superior privacy to Bitcoin, but lacks mobile and hardware wallet support.
The Monero project started in April 2014. The project has grown steadily and currently has a market cap of $1.5 billion (1 XMR = $99.24) The network processes around 2000 transactions per day.
Monero is accepted on a number of DarkNet Markets, including WallStreet Trading and TradeRoute.
I write these reviews in the evening on the weekends. I’ll use the latest source-code and documentation. Waiting for support ticket replies or joining a Slack is not an option when you’re ready to hit the DarkNet Markets!
My review of Monero is quite long, but not very technical. You can skip to the end by searching the page for the word “conclusion”.
Goals for the review
- Compile and install Monero from source-code
- Sync the full Monero blockchain
- Install a Monero wallet on my Android phone
- Buy Monero (XMR)
- Send XMR to my Monero full node
- Install the Monero desktop client
- BONUS: Buy a service or item using Monero
- BONUS: Send the remaining XMR to a hardware wallet
The Monero Landing page
Monero’s landing page mostly repeats that Monero is private. I prefer privacy over scaling. I hope it works.
I click Get Started.
I want to compile and run a full Monero node from source-code. I follow the link to the Github.
The Monero Github Project
The monero-project
user on Github has a few different projects. I don’t know what language QML is. I’ll try the project simply named monero
first.
The Monero Project in Numbers
The monero-project/monero
project on Github looks alive. Monero has a large number of contributors, stars, forks, and issues. This tells me that the Monero project is popular. But is it active?
The number of changes to the Monero code is consistent over time.
Finding the Source Code
The README
has a list of operating systems compatible with the newest version of Monero. Ubuntu 16.04 looks promising.
The Monero README
recommends using a tagged release. I head over to the releases section.
The latest version of Monero is Helium Hydra. Most notable changes mention privacy. The focus on privacy is consistent with all the mentions of privacy on the Monero landing page. 👍
Helium Hydra sounds like a Final Fantasy boss.
Helium Hydra is a mandatory upgrade. In Bitcoin this is called a hard fork and caused a three year civil war. I hope Helium Hydra doesn’t cause a civil war in Monero.
I see 39 contributors to the Helium Hydra release code. The previous release of Monero was on March 25th, 2017.
The source code of Monero is linked from the release page. I’ll need to set up a Linux machine first.
Compiling and Installing Monero
I’ll need a machine to compile and run Monero. It would be hard for you to repeat the process if I used my own laptop.
Setting up an Amazon AWS machine for Monero
I choose Ubuntu 16.04 and click Select.
A computer with 4 CPU cores and 16 GB ram should be enough to compile, run, and sync Monero.
I don’t know how big the Monero blockchain is. 500 GB should be more than enough.
Monero’s README
lists the following dependencies:
I’ll install only the required dependencies. The rest are for developer debugging and testing.
Installing the dependencies takes around a minute. Maybe all those CPU cores were worth it.
I download and extract the Monero source-code I found on the Helium Hydra release page earlier.
The Monero build instructions are very easy. Just run make
.
make -j2
command to use two CPUs for some extra speed.OBJECTIVE SUCCESS!
Compile and install Monero from source-code
Easy enough! I start the monerod
program. I hope syncing the Monero blockchain won’t take too long.
I don’t see any updates on the syncing progress. I’ll go grab a coffee. 😪
Monero is slowly downloading the blockchain. It’s getting late. I’ll check the progress tomorrow.
I check on the syncing next day and Monero is all caught up.
OBJECTIVE SUCCESS!
Sync the full Monero blockchain
Finding an Android wallet for Monero
Compiling a mobile wallet from source-code would take too much time. I’d rather just get something from the Play Store. But all wallets in the Play Store are hosted wallets. That’s unacceptable from a security/privacy standpoint.
I’ll use the MyMonero Wallet from Chrome. Not as appealing as an actual native Android app. 😠
MyMonero seems to have generated a private key in my Android phone’s web browser.
I write down the wallet seed on a piece of paper and confirm in the MyMonero wallet.
OBJECTIVE PARTIAL SUCCESS! (Not a native app 😠)
Install a Monero wallet on my Android phone
Spending Monero
I need to buy some XMR. I haven’t used ShapeShift since they first launched. Using ShapeShift will be easier than buying XMR on an exchange.
I’ll exchange some Bitcoin Cash for Monero.
I send the Bitcoin Cash to ShapeShift and start waiting for confirmations.
It could take some time for the transfer to confirm.
I had to re-enter the entire wallet seed when I re-opened the MyMonero wallet on my phone. That’s pretty annoying.
At least my 20 XMR has arrived in the MyMonero wallet.
OBJECTIVE SUCCESS!
Buy Monero (XMR)
Send XMR from My Phone to the Full Node
I start with the help
command in the monerod
console to find my wallet/addresses.
I don’t see any commands relating to a wallet. Maybe it’s another program. I reluctantly go back to the six point guide on the Monero website.
I think I found it.
monero-wallet-cli
must be what I need. I’ll see what it does.
The monero-wallet-cli
program has a lot of options, switches, and commands.
I take my chances and run the program.
The program asks if I want to make a wallet. I choose not to encrypt it with a password because I’m lazy.
There are so many commands. I just want to find my address.
Got it! I send the address to myself over WhatsApp. This way I can paste the address on my phone.
The MyMonero interface is quirky. I need to calculate the max send amount without any help from the app.
The XMR has been sent! I grab another coffee.
MyMonero full node has received the funds.
OBJECTIVE SUCCESS!
Send XMR to my Monero full node
The Monero Desktop Client
For the remaining goals I will use the Monero desktop wallet for macOS Sierra. I hope syncing it won’t take too long.
I click on Monero for Mac.
I click the Mac OS X, 64 bit link.
I drag the resulting .app
file to my Applications
folder.
The field for custom daemon address confuses me. Does this wallet run a daemon (full node) or does it connect to one? I’ll try to enter the address of my full node, 13.56.238.23:18081
and click Restore wallet from keys.
The network is disconnected. I click Settings.
Why is the Monero wallet trying to connect to localhost
when I specified another IP?
I’ll try running with a local daemon. I have to download the blockchain again. I remember seeing a link to download the blockchain.
Monero recommends syncing from scratch. It’s the same way with Bitcoin. They no longer recommend downloading a blockchain.
I’ll leave Monero wallet running on my laptop until it syncs.
Syncing Monero takes several days from the hotel wifi. I wake up every day hoping it’s finished. At some point I just stop counting the days.
Finally! Syncing Monero is finished. I see my XMR balance.
The guy who made the Monero watercolor has been waiting patiently for me to send the payment.
The artist was kind enough to take a photo before sending the watercolor to the framer.
Sending XMR from MyMonero wallet is straight forward. I leave the fee and privacy settings at their default values.
The XMR is sent!
OBJECTIVE SUCCESS!
BONUS: Buy a service or item using Monero
Securing My XMR
I still have some XMR remaining after paying for the watercolor. I search around the web for how to secure my XMR in a hardware wallet.
Sadly, this is not a thing.
It was possible to use Monero with a Ledger for some time. Support for that method became impossible in September 2017.
OBJECTIVE FAILED!
BONUS: Send the remaining XMR to a hardware wallet
Having no Android wallet and no hardware wallet is a deal breaker for me. I’m open to trying Monero again when those are available.
I enjoyed trying a coin that’s not a fork of Bitcoin or Ethereum. Out of the blockchain products I’ve reviewed on this blog Monero has been the best.
Going forward I hope the Monero team will focus on creating native phone apps and work with hardware wallet manufacturers.
Good night, blockchainers.
About The Author
Andreas Brekken is the CTO/co-founder of Helix Capital and has been obsessed with cryptocurrency since 2011. He was the CTO/co-founder of Justcoin.com and later worked as an engineer with Kraken.com.
Follow me on Medium and Twitter for more reviews. Which coin should I review next? Write me in the comments.
Are you making a blockchain product and want me to advise or review? I can be bought. Send me a paid message at https://21.co/berken/