Ethereum Mining SW Setup
We're going to cover setting up the Nvidia libraries and tools as well as the Claymore miner. Check out the /r/EtherMining subreddit and the wiki for that subreddit. It has way more information than I have to offer.
NOTE - This was all done on Ubuntu 16.04.2 LTS (GNU/Linux 4.13.0-32-generic x86_64). The OS/distro/version you are running will make a huge difference in terms of package compatibility, etc. I used an Nvidia GTX 1070. You can see the details of my hardware setup HERE.
Libraries and Cuda Stuff
Grab the Cuda installer and patches from Nvidia. Go here and select your platform, then install:
https://developer.nvidia.com/cuda-downloads
Use the following command to install the Nvidia Software:
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
Use these commands to install all needed libraries and packages:
sudo apt-get update
sudo apt-get install git cmake libcrypto++-dev libleveldb-dev libjsoncpp-dev libjsonrpccpp-dev libboost-all-dev libgmp-dev libreadline-dev libcurl4-gnutls-dev ocl-icd-libopencl1 opencl-headers ocl-icd-opencl-dev mesa-common-dev libmicrohttpd-dev build-essential cuda -y
reboot
The above commands were the result of a lot of testing, troubleshooting, trial and error. Issues may arrise due to variations package versions and other minor system variables. Every new version of a package has the potential to introduce new issues. There is a good chance that you will find yourself having to poke around and fix things.
In case you need to check your cuda version for troubleshooting:
cat /usr/local/cuda/version.txt
Hardware Sensors
You can optionally install software to monitor your system’s sensors for things like temperature. Install the lm-sensors package and the nvclock package:
sudo apt-get install lm-sensors
sudo apt-get install nvclock
sudo sensors-detect
Check your regular system sensors and you GPU temperature:
sensors
nvidia-smi -q -d temperature
Claymore Miner
I went with the Claymore miner. I would normally prefer the open source option but in this case Claymore is just more practical. It is supposed to be a tiny bit more efficient and it has the ability to dual mine. People would usually dual mine Pascal coins along with Ethereum. The Pascal coins would generally be about enough to pay for the electricity used. Claymore will actually take a tiny cut of what you make but you make enough more that it more than makes up for it.
You can just use wget to pull down Claymore. This is the version that I used but you may want to check for something newer. I'm pretty sure version 10 is out already.
WARNING - Make sure you actually unpack this inside its own directory since this tarball is a "tar bomb".
wget https://github.com/nanopool/Claymore-Dual-Miner\
/releases/download/v9.8/Claymore.s.Dual.Ethereum.Dec\
red_Siacoin_Lbry_Pascal.AMD.NVIDIA.GPU.Miner.v9.8.-.\
LINUX.tar.gz
cd Downloads/
mkdir claymore
cd claymore
tar xvfz Claymore.s.Dual.Ethereum.Decred_Siacoin_Lbry\
_Pascal.AMD.NVIDIA.GPU.Miner.v9.8.-.LINUX.tar.gz
Edit the start script:
vi start_only_eth.bash
You will see a line that looks like this:
#./ethdcrminer64 -epool eth-eu1.nanopool.org:9999 -ewal YOUR_WALLET/YOUR_WORKER/YOUR_EMAIL -epsw x -mode 1 -ftime 10
Uncomment that line and fill in the details. You will need your wallet address and a name for your worker. The email is optional. You could also pick a different mining pool if you like. Mine looks like this:
./ethdcrminer64 -epool eth-us-east1.nanopool.org:9999 -ewal 0x6E1446BCE91Eb9853978447A6E81029ec052B187/worker1/na -epsw x -mode 1 -ftime 10
Feel free to just use my exact info if you just want to mine for me .....
Fire up the mining software:
nohup ./start_only_eth.bash > /dev/null 2>&1 &
This will keep the miner running after you log out. It also redirects all output to /dev/null ( throwing it away ) and runs in the background. Note that this really should be daemonized properly and set to run on boot if you want to set things up right.
What I haven't done yet ...
- GPU Overclocking
- Dual mining - Pascal and Ethereum - Calymore supports this
- Daemonize the miner and setup to start on boot