Monero, originally named BitMonero, was launched in April 2014. Unlike most other cryptocurrencies, Monero is focused on privacy, decentralization, and security. In fact, Monero is so private that it can’t be traced back to the spender, and there is no way to view someone’s transaction history. However, Monero is not based on Bitcoin. Instead, it is based on the CryptoNote protocol. Because of this, Monero can’t take advantage of all the features that Bitcoin has implemented, since everything must be coded from scratch. I apologize for the large GIF below, but it’s a good explanation of how Monero differs from Bitcoin.
Monero is gaining a lot of popularity recently because darknets are demanding an anonymous alternative to Bitcoin. Recently, AlphaBay announced they would be accepting Monero payments, and this has caused the Monero price to skyrocket.
I’m installing Monero on Arch Linux. You could use the package from the AUR, but I prefer the package from the website.
The only dependency I ran across was boost, which is in the regular Arch repositories.
sudo pacman -S boost
Setup Monero client
cd ~ mkdir ~/.bitmonerofiles cd ~/.bitmonerofiles wget https://downloads.getmonero.org/linux64
Compare SHA256 sum of the tar file you just downloaded to what is on the website/GitHub. Obviously, substitute your SHA sum with the one provided online.
sha256sum linux64 | grep 0b3610c9b301ea14174ce700923a604909fa7cbd9335849112c9d6cfb07a1a43
If if worked, you should see the output below, since the SHA256 of the downloaded tar file matches the grep for the calculated sum.
Next, untar the file.
tar -xvf linux64 rm linux64
You should see the files below.
logan@arch --> ls -la total 86188 drwxr-xr-x 2 logan users 4096 Aug 25 22:17 . drwxr-xr-x 46 logan users 4096 Aug 25 22:07 .. -rwxr-xr-x 1 logan users 42835073 Apr 1 23:46 bitmonerod -rwxr-xr-x 1 logan users 7995453 Apr 1 23:47 blockchain_converter -rwxr-xr-x 1 logan users 7197945 Apr 1 23:48 blockchain_dump -rwxr-xr-x 1 logan users 7230473 Apr 1 23:49 blockchain_export -rwxr-xr-x 1 logan users 7272286 Apr 1 23:50 blockchain_import -rwxr-xr-x 1 logan users 2554353 Apr 1 23:51 cn_deserialize -rwxr-xr-x 1 logan users 2794261 Apr 1 23:39 simpleminer -rwxr-xr-x 1 logan users 10348960 Apr 1 23:41 simplewallet
Start the node
First, start the node, which is run by the daemon bitmonerod.
After the blockchain is imported and synced, you need to save the blockchain status. You can do this by using the save command (the exit command will save and close bitmonerod).
Note – You can download a bootstrap of the blockchain and import it, but it takes almost as long to import it as it does to download it initially, so I’m letting my node sync from scratch.
Create a wallet
Next, we need to create a wallet. This is done using the simplewallet utility. You’ll need to do this in a separate terminal window, since bitmonerod needs to be running for simplewallet to work.
mkdir ~/.bitmonerowallet cd ~/.bitmonerowallet ~/.bitmonerofiles/simplewallet
Upon first creation, you’ll be prompted to name the wallet, give it a password, and choose a language. Once this is completed, you’ll be presented with a few pieces of information:
- Address – this is your public address, you’ll give this out to receive Monero
- View key – this is used to view funds that have arrived in a wallet (if you don’t have access to the wallet) and should be kept private
- Seed – this is your private key. It can re-generate your transaction history and allow access to your wallet if you lose the password, so keep it secure.
Once this is completed, you’ll need to log into your wallet again, using your new wallet name and password.
cd ~/.bitmonerowallet ~/.bitmonerofiles/simplewallet
Next, you’ll want to refresh the wallet to look for any new blocks. This process will take a while the first time you do it.
Then, save the blockchain data.
You can type address to see your public address…
…and balance to see your balance.
Sending money is simple. Use the transfer command with two parameters: the receiving address and the amount.
transfer ADDRESS AMOUNT
Open port (optional)
Monero nodes communicates over TCP port 18080. If you want to “help” the network by seeding the blockchain to other nodes, you’ll need to open this port on your router or firewall. If you don’t open this port, your Monero node will still work, but it will be a “leech” and will only receive/verify blocks.
Looking forward to what Monero has to offer!