How to mine cryptocurrency

Updated 15-12-2017.

Recently I was asked about the best way to start mining cryptocurrency. To answer this, I made a little guide which I thought I would share with the rest of the world here.

Before we get into the details of mining, you first need to know that there exist a large number of different cryptocurrencies. You can get a good overview of the most popular ones on https://coinmarketcap.com/. The profitability of mining a certain currency will depend on supply and demand in the market. You can expect prices to fluctuate wildly, both up and down.

Contents

1. Mining
1.1. Hardware
1.2. Pools
1.3. Software
2. Exchanges
3. Wallets
3.1. Advanced Ethereum Wallet Usage
4. Exploring the Blockchain
5. Two Links of Wisdom and a Word of Caution

Mining

In order to mine a cryptocurrency you will need mining hardware (generally GPUs), mining software and an internet connection. In this guide I will be focusing on mining Ethereum, since it is the most profitable currency to mine with graphics cards at the time of writing (the well known currency Bitcoin is unprofitable to mine with GPUs, you need ASICs for that). In general each cryptocurrency will have its own unique set of software tools. However, the type of programs used are very similar, so you should have no problem adapting the guide below to the cryptocurrency of your choice.

ETHEREUM-LOGO_PORTRAIT_Black_small

Hardware

Choosing a GPU for mining and constructing a mining computer can be a challenge. You need to consider price, power consumption, heat, noise, physical size and hashrate (mining speed). The link below contains good information about this:
https://www.cryptocompare.com/mining/guides/how-to-build-an-ethereum-mining-rig/
The graphics cards I would recommend getting are AMD RX 580/570/480/470 (latest cards) or second hand AMD R9 380x/380/290x/290/280x (older cards), since these are the most cost efficient cards for mining Ethereum (NVIDIA cards may be more profitable for other currencies, more on how to determine this below).

NOTE! In order to mine Ethereum, your graphics card needs at least 3GB of built-in memory. By April 2018 it will need at least 4GB due to the increasing DAG size (unless the Casper update is rolled out). The cards mentioned above may have several different memory configurations, so check this before buying.
Also, please choose a high quality PSU (power supply unit) for your mining rig since low quality power supplies have been known to go up in flames. You can find some good PSU recommendations in the following link: http://www.tomshardware.com/reviews/best-psus,4229.html

As mentioned above, the speed at which you mine a cryptocurrency is called hashrate. Different currencies use different mining algorithms, causing hashrate to vary depending on what you mine. Ethereum hashrate is usually expressed in MH/s (megahash per second).

For Ethereum and a few other coins, you can find an estimate of the hashrate and profitability of different mining hardware here and here.
Via https://www.coinwarz.com/cryptocurrency you can also calculate the profitability for the most popular cryptocoins, as long as you know the hashrate and electricity cost.
With one Sapphire R9 290 Tri-X graphics card (like the one below) I get 26 MH/s with a power consumption of about 350 W, resulting in a power cost of about 220 SEK (25 USD) per month.

Sapphire R9 290 Tri-X 3

Pools

If you have a low total hashrate, it may be a long time between each mining success, so your income will vary a lot. Joining a mining pool such as https://ethermine.org/ will solve this by distributing the mining rewards among all miners in the pool according to mining work done during the last hours. This reduces the influence of luck. The downside is that mining pools charge a small fee (around 1 % of income).

Software

The final part of the mining set-up is choosing a mining software. For Ethereum, I would recommend either Genoils Miner (free and open source) or Claymores Miner (faster and can mine one of a few other coins simultaneously, but charges a 1-2 % fee on income and is closed source). See the instructions at https://ethermine.org/ for how to install the miners.

Exchanges

If you want to sell Ethereum or shift it to other currencies (like Bitcoin), you should use an exchange such as https://www.kraken.com/, https://bittrex.com/, https://bt.cx/en/ (if you are in Sweden) or https://www.shapeshift.io. As for https://poloniex.com/ it is one of the largest exchanges, but they are having problems adjusting to the amount of customers they have at the moment, so I would stay away for now. I would also avoid storing too much currency in mining pools or exchanges as customer funds have been lost/stolen on a few previous occasions.

Wallets

If you want to store your coins for later you should use a wallet.

NOTE! Make sure to backup your wallet/accounts (can be done through the Ethereum wallet Accounts menu) and wallet password since your coins will be lost if either of these disappear. Keep the backups in a safe place to prevent theft.

You can download an Ethereum wallet from here: https://www.ethereum.org/. There are two available downloads, Ethereum Wallet, which is safer, and Mist, which has more features. If you are only going to manage Ethereum and tokens with your wallet, choose Ethereum Wallet to maximize security.

The first time you start the wallet it will try to download the entire Ethereum transaction history, which can take a while. It took a whole day for me even though I use an SSD hard drive. To avoid this extended download time I recommend you use the light client mode (which will probably become the default wallet mode in the future). You enable the light client mode by first clicking “Launch Application” which shows up after a while in the wallet loading screen as seen in the image below (will look slightly different in Mist).

Ethereum loading screenThen when the wallet has launched select “Develop”->”Sync with Light client (Beta)” in the wallet menu.

Ethereum light client setupWith the light client your wallet should be up and running within an hour and this will also reduce the amount of disk space required from 50+ GB to about 1 GB. Note however that if you plan to do development work with Ethereum, you cannot use the light client and will need to have patience through the standard synchronization process (or you can use Parity (which has some security issues) or Ganache CLI/TestRPC).

The Ethereum wallet will generate an address for you (called etherbase and starting with 0x for Ethereum) which you can use to send and receive Ethereum and tokens. Below you see a picture of my Ethereum wallet. You can see the location of the backup menu option as well as my etherbase address (0x0e544907815e7C74E447948F38Fb5B7b058032B5).

Ethereum wallet

Advanced Ethereum Wallet Usage

In case you have problems with your Ethereum wallet, or simply want a more in-depth look at what it can do, I’ve created a separate article exploring this area further. Since the information is cursory to this guide, I will just provide links below to the topics that are brought up.

1. Troubleshooting
2. Finding Geth
3. Command Line Synchronization
4. Clean Up Old Blockchain Data
5. Add Tokens to the Ethereum Wallet
6. Retrieve the Ethereum Wallet Private Key
7. Other Wallet Options

Exploring the Blockchain

If you simply want to check the balance of an Ethereum account (yours or someone else’s), you can search the Ethereum blockchain by entering the account address at https://etherscan.io. This will also show the transaction history for this address. Etherscan can in addition be used to get information about e.g. contract addresses of tokens (which is required when you want to make token balances visible in your wallet), the current block number (which can be good to know when synchronizing your wallet to the network so you know how much work is remaining) and network mining difficulty.

Two Links of Wisdom and a Word of Caution

That should be all the information you need to get started on your crypto-adventure. If you want to know more about the technology behind cryptocurrencies in general and Ethereum in particular, take a look here: https://dappsforbeginners.wordpress.com/tutorials/introduction-to-development-on-ethereum/
For a good overview of how Ethereum development works and the current Ethereum development tools, check out the following link (note that TestRPC was recently renamed to Ganache CLI): https://medium.com/loom-network/introducing-loom-network-scaling-ethereum-today-9ea26b5b57c

And as always when dealing with volatile assets, remember to never invest more than you can afford to lose. Good luck!

The Ethereum logo comes from https://www.ethereum.org/assets, used under CC BY 3.0

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: