How to get started mining Ethereum


What is Ethereum and mining?

Ethereum itself is a platform for decentralized applications.

This means that instead of talking to one central server, clients talk to each other. Developers can then build applications that rely on this network to perform tasks distributed among clients in real time. This creates a peer-to-peer network of nodes that perform tasks with one another, similar to how peer-to-peer file sharing protocol BitTorrent works. It's not the same, but similar enough to compare ("peer to peer" with the "reward" being a file).

The process which you, a miner, is interested in surrounds finding information in a particular block. As the information is found ("mined") and verified, the worker (you) will receive a reward (Ether) for completing task.

Although this is a broad overview of how mining works with regards to Ethereum, the underlying functionality remains the same. Ethereum is a platform which relies on blockchain technology that is solidified and secured through mined Ether.

Different Types of Wallets

In order to store Ether or make transactions, one needs to generate a wallet address. This address serves as a ledger which keeps track of transactions between parties. There are several kinds of wallets which can be used, most of which are explained below:

Type

Use Case

Desktop

Stores your wallet's key locally on your computer using an application like Mist (Recommended) or Etherwall + GETH.

Hardware

Stores your wallet's key on a piece of physical hardware like the Ledget Nano S or Trezor.

Online

Services like MyEtherWallet which act as a middle man which you can generate a wallet address with. You then store your private key somewhere (flash drive, 2FA protect storage, or print out) when you want to access your funds.

Paper

A printout out of your public address and private key for offline "cold storage" of Ether. Here is a good generator.

Exchange

Your currency sits on an exchange like BTC-eCoinbase*Kraken, or Poloniex. It is generally not recommended to leave currency on an exchange if you are not trading.

 

 

 

Setting up an online wallet

Though an online wallet is never suggested as a primary means of storage (see this screenshot of a service that was compromised recently), it can be done. In this particular entry, you will learn how to open an online wallet.

You will have two options at this stage, either through MyEtherWallet, or through an Exchange like CoinBase*. The former will allow you to export your wallet to be used with Mist or another Desktop wallet, while Coinbase is simply easiest to set up. MyEtherWallet is recommended.

MyEtherWallet

  1. Navigate to MyEtherWallet
  2. Enter a long, complex password in the box, and click "Generate Wallet". Do not lose this
  3. Download your Keystore file. Do not lose this.
  4. Click "I understand. Continue."
  5. You will then be shown your unencrypted private key. Do not lose this.
  6. Print a copy or two of your paper wallet. Put it in a safe place where only you will have access to it.
  7. You can now use your keystore or private key to unlock your wallet.
  8. View your public deposit address that you will use for mining.

Coinbase

  1. Navigate to CoinBase*
  2. Sign up and complete verification
  3. Navigate to Accounts
  4. Click "Get Ethereum Address](http://i.imgur.com/YJNoJgd.png)
  5. CoinBase warns that it does not explicitly support mining rewards, however many individuals deposit there without problems.

Choosing your pool

Choosing a pool seems to be something new miners believe to be unimportant. A good deal just go with whatever is easiest to begin with, or whatever they are introduced to. But each pool can be a different mining experience - from total hashrate active, to payment methods, to amount the pool requires for payout. Use the explanations below to decide which pool is best for you.

What is a pool?

A pool is a collection of miners used to solve a block more quickly than solo mining (by yourself).

Should I join a pool or solo mine?

Given current network difficulty, if your rigs collectively produce less than 400-500MH/s, you should consider joining a pool. With solo mining, you are only rewarded for blocks that you solve, so you may go a day or three (or more) without solving a single block, but be rewarded with 5 ETH once you solve it (if you solve it). But while mining with a pool, you are rewarded for blocks that you contribute to solving, even if you don't solve it yourself. The amount you earn is decided by the payout method of the pool.

Payout methods

Different pools pay in different ways. Typically, PPLNS can be the most "bang for your buck" when you stay associated with a single pool. If you tend to hop pool-to-pool, a Prop reward-system would be better to invest your miner's time in.

  • PPLNS (Pay Per Last "N" Shares): Payment is decided based on the last number of shares in total, not just the shares for the last block-solving round.
  • PPS (Pay Per Share): Worker is paid a set payout for each share.
  • Prop (Proportional): Block's reward is distributed proportional to the number of shares submitted by the miner.
  • HBPPS (Hour-Based Pay Per Share): Each submitted share earns a fixed amount of coins distributed proportionally to how many shares were submitted in the past hour.
  • RBPPS (Round-Based Pay Per Share): Each submitted share earns a fixed amount of coins distributed proportionally among workers based on total number of shares submitted.

Recommended pools

  • Pool: Collection of miners
  • Fee: Cost to mine on the pool
  • Min Payout: How you need to mine before Ether is sent to your wallet
  • VarDiff: Your share difficulty will rise or fall depending on your overall hashrate. This ensures that low-hashrate users don't get sent difficult blocks, and high-hashrate users aren't sent easy blocks.
  • Monitoring: View your hashrate and contributions
  • Server Location: Where the server is geographically located
  • Coins: What coins you can mine on the pool
  • Payment Type: See above chart for 'Payment Methods'
  • Hashing Power: Overall hashing power across all miners in the pool

Pool

Fee

Min Payout

VarDiff

Monitoring

Server Locations

Coins

Payment Type

Hashing Power

AlpEreum

0.50%

0.05

Yes

Yes

Asia, EU, US

ETH

Prop

68.31 GH/s

Dwarfpool

1.0%

0.05

No

Yes

Asia, EU, US

ETH, ZEC, XMR, EXP

HBPPS

4.5 TH/s

Ethermine

1.00%

0.10

No

Yes

Asia, EU, US

ETH

PPLNS

10.1 TH/s

Ethpool

1.00%

5.00

Yes

Yes

Asia, EU, US

ETH

Solo

1.5 TH/s

EthereumPool

1.00%

0.10

Yes

Yes

EU

ETH

PPLNS

15.1 GH/s

MinerGate *

1 - 1.5%

0.00

Yes

Yes

US

ETH, BTC, LTX, DSH, ETC, XMR, ZEC, etc...

PPS, PPLS

33.2 GH/s

Nanopool

1.0%

0.05

Yes

Yes

Asia, EU, US

ETH, ETC, PASC, SC, ZEC, XMR

PPLNS

4.5 TH/s

 

Mining Applications

It's a showdown of the big two: Genoil's Ethminer vs Claymore. Some people use qtminer as well, but I will only be discussing the first two.

I feel that a lot of this also comes down to preference. A no-frills, easy to use miner would be Genoil's Ethminer. Simple to use, no fees to worry about, and has a large community backing behind it. Genoil is an active member in many communities and can often be found in support threads for users.

Where Claymore shines is its ability to dual-mine coins to mitigate risk and spread assets around different currencies. The fee is increased with this operation. Claymore miner charges a 2% fee for the developer to dual mine, and a 1% fee to mine Ethereum alone. However, in my experience, out of the box with no changes claymore earns an extra ~1-2MH/s per card over Ethminer (about $1-$2 per day, on a six-card rig). At 150MH/s, you would earn ~$32/day (at today's rate of $380/ETH) and pay out about $0.80 in "developer fees" making it only slightly more profitable.

Another benefit of Claymore is the open API which can be utilized to monitor the rig, send notifications on downtime, etc. Ethminer has not yet implemented a solution at this time from what I can find.

Recommendation

I do not feel comfortable recommending one or the other, but I do recommend researching the developers behind both and making your decision based on the information you find. There is a lot of controversy over which miner to use, most of which is political. Try both and decide on your own which works better for your needs and skill level. Either will work, it is up to you whether you want to pay the Claymore fee for a minuscule increase in profit.

 

How to begin mining on Windows

Prerequisites

  1. You have chosen a pool
  2. You have chosen a mining application (Claymore/Ethminer)
  3. You have an ethereum wallet
  4. You are using Windows
  5. Your OS sees all of your video cards (check device manager to ensure each card is seen)

Drivers

Be sure you have a known-good set of drivers. For Windows, this is as follows:

Downloading the Miner

After deciding on a miner, choose one of the following and extract it to the desktop.

Config - Ethminer

  1. After downloading Genoil's Ethminer, extract your downloaded files to a folder on your Desktop
  2. Save a new empty text in the folder called Start.txt
  3. Edit the Start.txt file and insert the following

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

ethminer.exe --farm-recheck 200 -G -S <Mining_Pool_Address> -O <Your_Ethereum_Wallet_Address>.<Friendly_Name_For_Computer>

Important: If you are using an AMD card, you can leave the -G flag above. If you use Nvidia, substitute -G for -U to indicate that you are mining via a Cuda-based card.

  1. Save Start.txt with your new values
  2. Rename Start.txt to Start.bat
  3. Double-click Start.bat to begin mining

Config - Claymore

  1. After downloading Claymore v9.5, extract your downloaded files to a folder on your Desktop
  2. Save a new empty text in the folder called Start.txt
  3. Edit the Start.txt file and insert the following

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 <Mining_Pool_Address> -ewal <Your_Ethereum_Wallet_Address>.<Friendly_Name_For_Computer> -epsw x

  1. Save Start.txt with your new values
  2. Rename Start.txt to Start.bat
  3. Double-click Start.bat to begin mining