Getting Started mining Ethereum on Ubuntu (January 2017)

This is an explanation for Linux/Ubuntu Distribution. I found a few resources and after enough digging I was able to repeat the process multiple times.

I will attempt to be short and sweet

Step 1) Prepare your Linux/Ubuntu distro:

sudo apt-get install linux-generic

Great. Now we can get our hands dirty…

Step 2a) Download CUDA drivers (NVIDIA)

This link will give you the most updated version available. When installing ubuntu/linux, it will use standard drivers, we want the cutting edge.

Be sure to install the proper architecture, distro, and version and choose

‘deb (network)’

This is because it will download and install as necessary. You don’t have to download the whole package first.

Once the deb package downloads:

sudo dpkg -i <package-name>.deb

This will take a while…

Step 3) Download the proper PPA:

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum-qt
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository ppa:ethereum/ethereum-dev
sudo apt-get update
sudo apt-get install ethereum
sudo apt-get install cpp-ethereum

Step 4) REBOOT

The video drivers wont be updated until reboot and at this point the best/wisest choice is to give your computer a clean start.

Step 5) Update to the current chain

The way cryptocurrency mining works is you have to be 100% up to date to mine. But to avoid any cheats, you have to know literally EVERY exchange ever made in the currency. So obviously this will take time. Thank god for the new fast action. It has to catch up all in one go, so don’t stop the instance.

Incase an old slow instance was run (This is 2017, there is over 30GB of data to download unless you call fast… so be wise) remove the old database:

geth removedb
geth --fast --cache=1024

If you are caught up and are running a new instance of watching the blockchain:

geth --rpc

Step 6) Test your drivers:

If you are caught up,

ethminer -G -M

The -G flag is for mining with the graphics card. The -M flag is for testing…

Once you see how you do if you are ready to mine:

Step 7) Prep an account and mine:

geth account new
ethminer -G

Obviously ethminer -G by itself is pretty stupid.

At this point look into pools. usually you give up about 0.1% of your work for a bigger payout because you are working in a team setting.

This is up to your discretion but this tutorial is done.

Happy Mining.