The value of dedicated GPU is going beyond the needs of gaming, it is proven to fulfill the professional needs for Deep Learning researches. As it turns out the modern graphics cards are very good at achieving the framerate requirements for virtual-reality. To our biggest surprise, GPU is profitable at mining crypto-currency again, such as Ethereum, so we can profit from our current hardware setup. This article will run through the basic mining knowledge, and guides how to setup a Windows 10’s machine with a GPU to do Ethereum mining.

## Bitcoin Mining History

### Difficulty for Timeliness

The remaining question is the significance of the network difficulty. Imagine the guessing game of between 1 to 10, the difficulty that one can guess it right is the chance of 1/10. We say the equivalent of 1 guess is equal 1 hash, the difficult is 10. In average, a player needs to guess 5 times before a guess is hitting the correct number. However, if this guessing game is having too many guesses happening in a short time, the correct guess may happen too fast. The guessing game’s maker (the whole network) will automatically adjust the difficulty, adjusting from 10 to 100, to reduce the correct guess happening too fast. This is the essence of using the network difficulty to control how fast a correct guess can happen.

Figure. This picture explain the input of the hash function $f()$ must be manipulated to generate a hash result of specified difficulty. The difficulty is a pattern of easy comparison, in this case, the hash result is less than 100.

In NO scenario that a miner should modify the transactional content, in order to manipulate the hash result, miner can only modify the “nonce” section to generate a hash result and check if the hash result meets the target requirements. For each “nonce” change, recompute the hash result and compare against the target requirements, is exactly ONE hash. The speed of Ethereum hash is currently measured by MH/s (1,000,000 hashes per second) by using a GPU. For instance, Nvidia GTX 1070 can compute 25 MH/s without overclock (after overclock, it gains 20% speed and reaches 30 MH/s).

Different cryptocurrency has different hash algorithm and requirements, but the essence of a hash is the same. If a miner be the first who compute the hash result matched the requirements against the whole network; then that winning miner will be reward with the coins! That’s exactly the goal of mining. Obviously, only using a small computing resources winning against the whole network is very difficult; that’s why the Mining Pool concept can be applied to join force to win.

The prerequisite to mining is having a machine installed with a modern GPU. For a typical gamer or a Deep Learning researcher, you would probably have a Windows 10 machine ready to be deployed for Ethereum mining.

Figure. Showing Claymore Ethereum Miner in action after all the following setup. GPU can be put to work hard for your money.

Here is a quick run down on the 10 steps.

(1) Setup the GPU on Windows 10

(2) Setup an Ethereum Wallet: Jaxx is a multipurpose cryptocurrency wallet that can run on any platform. Miner needs to get the public address of the Ethereum wallet; that public address is used to store the mining rewards.

(3) Ethereum Mining Software: Download and install Claymore-Ethereum-Miner that works with Nvidia GPU optimally. Please follow the Mining Clients - Claymore - Windows instructions from Nanapool help page, the next few steps repeat the important info.

For this article, the Claymore's Dual Ethereum AMD GPU Miner v9.8 (Windows/Linux) for Windows 10 is used.

(4) Choose a Mining Pool to join: Claymore Ethereum Miner’s default is Nanopool which has a great API and Web UI. Miner doesn’t need to register with Nanapool. As soon as a Ethereum’s public address using Nanapool to receive some reward, the account will be automatically setup with that public address.

(5) Install Overclock Tool: MSI Afterburner as the overclock setup and monitor. The following shows an optimal overclock settings for Nvidia GTX 1070 GPU, which produce 30 MH/s, 100 Watt power draw, 61C temperature with 40% fan speed.

Since Ethash (Ethereum Hash function) is essentially GPU memory bounded, overclock the GPU memory is sufficient without increasing the GPU core clock. This should reduce the power draw and the temperature of the GPU, while maintaining a great hashrate!

(6) Setup and run the Miner Script: The Claymore miner comes with many batch scripts to do mining. For simplicity, starting with the Ethereum only mining script, follows the instructions to modify with your Ethereum wallet’s public address.

This is how the start_only_eth.bat file should look after modification to miner’s information:

setx GPU_FORCE_64BIT_PTR 0
setx GPU_MAX_HEAP_SIZE 100
setx GPU_USE_SYNC_OBJECTS 1
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_SINGLE_ALLOC_PERCENT 100

EthDcrMiner64.exe -epool eth-us-east1.nanopool.org:9999 -ewal 0xf1cfc50567acf36c55ba75540b7f1c3f1aaa9869/mining_name/my_email@gmail.com -epsw x -mode 1 -ftime 10


It is using Nanapool in US east cost address eth-us-east1.nanopool.org:9999 as the mining pool. As a general rule of thumb, choose a pool address that is closest to your geographic location. Important don’t forget to change 0xf1cfc50567acf36c55ba75540b7f1c3f1aaa986 to your Ethereum wallet’s public address; otherwise, you are contributing to my wallet :). After the next /, gives a name to the mining machine. The next / is optional, you can provide your email address for notifications and enabled the ability to update Nanopool’s payout schedule, i.e. this is good to provide an email.

(7) Monitor the Mining Operation: You can observe the hashrate measured in MH/s (1,000,000 hashes per second). The following screen output shows a typical Claymore Miner’s log report.

From the illustrated output, Ethereum mining logs are prefixed with ETH:. We can see the miner is fetching jobs from eth-us-east1.nanopool.org:9999 that we have setup in the miner script, which confirmed that we are joining the Nanopool mining. The observed GPU0, the only GTX 1070 on the PC, hashing at 30 MH/s. When the mining pool is lucky and win, the SHARE FOUND will be reported. The shared computation effort will be awarded relative to the overall pool contribution to the winning Block!

(8) Keep Cool and Pay Electricity Bill: We need to understand how to keep our mining profitable by using a Ethereum calculator to estimate earnings. Here is one calculator by inputing the hashrate, power consumption and power cost per kiloWatt to estimate the profit https://www.cryptocompare.com/mining/calculator/eth

For example, GTX 1070 hashrate is 30 MH/s, with 110 Watt power draw and average electricity cost of $0.12 KW/h. Figure. Screen Capture of Ethereum profit calcuation on 17 Sep, 2017, where 1 ETH is traded at$263.89 USD

The estimated dollar earning is affected by the current Ethereum trading price. It is easier to measure by ETHs that have been mined.

(9) Repeat (6)-(8): Visit Nanpool and search for the Ethereum public address. It will display the mining statistics.

(10) Increase Mining Operation: If one’s mining appetite grows, then it is time to learn how to build an Ethereum Mining Rig. This video introduces how to build a 6x GTX 1070 GPUs mining rig has a hashrate of 180 MH/s, please have a look. Another article should be written on how to build this dedicated hardware.

Happy Ethereum mining!

### Donations

ETH: 0xf1cfc50567acf36c55ba75540b7f1c3f1aaa986

BTC: 1ogLdBTrLBLxPb27JAiMVUieXxxQ428Jg

SIA: 720bfb6473361e94376634ebbbc64ebc7932f4f4b3e5f2f6556e1140216fae440990d9dc9105