Objective

Set up Ubuntu 16.04 for Ethereum mining.

Distributions

This guide was tested for Ubuntu 16.04, but many principles will hold true on other distributions.

Requirements

A working Ubuntu 16.04 installation with root privileges. You also need a modern GPU with more than 4GB of RAM.

Difficulty

Easy

Conventions

  • # - requires given command to be executed with root privileges either directly as a root user or by use of sudo command
  • $ - given command to be executed as a regular non-privileged user

Introduction

It's hard not to have heard about Ethereum by now. It's the hottest new cryptocurrency that's still very much so on the rise. Unlike Bitcoin, Ethereum is still practical to mine, and tons of people are getting in on it. If you've been considering mining Ethereum, this guide will help you get started using open source tools and Ubuntu.

Before you get started, install AMDGPU-PRO on Ubuntu.

Install The Miner

You obviously need software to begin mining. The developers behind the Ethereum currency created these tools and packaged them for Ubuntu. All you need to do is enable their PPA and install the packages.

First, install the one dependency.
$ sudo apt install software-properties-common
Then, you can enable the repository and update apt.
$ sudo add-apt-repository -y ppa:ethereum/ethereum
$ sudo apt update
Now, just install the packages.
$ sudo apt install ethereum ethminer

Install Mist Wallet

There are plenty of excellent options for cryptocurrency wallets out there, and most of them do support Ethereum now. Because this guide is specific to Ethereum, it'll focus on the official Ethereum wallet, but if you have a preference, feel free to use that one instead.

Install the dependencies before getting the Mist wallet.
$ sudo apt install libappindicator1 libindicator7
With the dependencies installed, you can grab the latest release of Mist from project's Github page. You're looking for the "Ethereum Wallet" package.

Install the package with dpkg.
$ sudo dpkg -i Ethereum-Wallet-linux64-0-9-0.deb

Mist Setup

Open up Mist. It's a GUI program, so you can access it normally through Unity.

When you first start up Mist, it'll ask you if you want to use the main Ethereum network or a test one. Obviously, you want to connect to the main network to be able to actually mine and complete transactions.

The next screen will ask you if you have an existing wallet file. If you do, by chance, add it. If not, you can just skip this part.

The next screen prompts you to create a password for your wallet. This is an encryption password. Create a strong and memorable passphrase here. Do not forget it. If you lose your password, your Ether is gone. You cannot recover it.

After the setup, you'll see your actual wallet. Your account will be present with your wallet address. This is the address that you'll use from now on to send and receive Ethereum.

Leave the application open to sync with the Ethereum network. It will need some time and considerable hard drive space to synchronize everything.

Join A Pool

You need to join a pool if you want to be profitable. While it's possible to mine without joining a pool, your chances of turning a profit with a single mining node are very low. A pool will increase your chances.

Mining pools are what they sound like. People get together and pool their mining resources and split the profits fairly based on the amount of work done. While solo mining can be hit-or-miss, mining pools guarantee a steady stream of income proportional to your work.

There are a lot of options out there, so do your research. Here are a few of the more popular ones:

GPU Mining

Once you have your mining pool and wallet set up, you can finally start mining. You'll be mining using Ethminer, which uses your GPU to mine. In the command that you use to start up your miner, you'll be telling it which pool you're using.

Your command might be a little different, depending on your pool, but it will look something like the one below.
$ ethminer -G -F your.poolurl.com:port/0xYOUR WALLET.COMPUTER NAME --farm-recheck 200
The -G flag specifies a GPU. The -F lets you tell the miner that you're part of that pool. You need to give the pool your wallet address so it can attribute your work to you and pay you. Most pools track activity by computer, so that's included too. The computer name is an alias, so it doesn't need to match your hostname or anything like that.

Closing Thoughts

Ethereum mining might be a great way to make a little extra money or just a fun tech hobby. Always consider the costs before getting involved in cryptocurrency mining and calculate your profitability before you make an investment.