Quick Guide to Mining Ethereum on Windows

in #ethereum7 years ago (edited)

So you want to mine some Ethereum? Here's a quick guide to get started on Windows!

First, you should have a graphics card with more than 2GB of onboard memory (also known as video RAM). In other words: 3GB or more memory is necessary (with a few exceptions - see bottom of this article). The simple reason for this is that mining requires loading a big file known as the "DAG" into memory in order to work, and this file has increased in size so much that since sometime in 2016, mining using graphics cards with 2GB has stopped working for most people.

So, you have a graphics card with more than 2GB of memory? Great! Now all you need to get started is a couple of apps.

First, you should get yourself the official Ethereum Wallet app.

Go to https://github.com/ethereum/mist/releases and scroll down until you see the first "Download" headline. That will be followed by download links to different "versions" of the Ethereum Wallet app, for different systems.

Click the link that says "Ethereum-Wallet-win64" followed by some version numbers to download it. This is the wallet you'll want usually. (Note: If you have a 32-bit version of Windows, you'll need to download the one that ends with -win32 instead.)

Extract the zip file by right-clicking it or double clicking it and choosing extract all. Then run the Ethereum Wallet (Ethereum Wallet.exe) by double clicking it.

The first time you start the Ethereum Wallet app, it will need to download the blockchain in order to sync all the necessary data. Depending on your connection speed and sice of the blockchain, this can take up to several hours. Click "Launch Application" if/when that option shows up:

So what's the point of this app? You need a wallet address for your Ether to be sent to, once you start mining! Think of it like a bank account number for receiving your payments to. In the Ethereum Wallet app these are referred to as "accounts" and protected by a password.

Click "Accounts" and then "New account". It will ask you to enter a password to secure your new account. Once you've entered the password and clicked ok, you get a popup message recommending backing up your account files from the "Accounts > Backup" menu. Clicking this will open Windows Explorer in the correct folder, where your account files are, so you can copy them to some other safe place to keep a backup.


Your accounts all have a unique account number. To copy the address, click on the account you want to copy the address of, then select it and press CTRL+C, or "Edit > Copy" in the menu.

You'll need this soon...

NEXT!!!

So, now you have the wallet/account set up! You're almost done, actually, and ready to mine!

You can technically mine Ether "solo", but at this point in time it is extremely unlikely that you will be able to make anything doing it this way, so instead you should mine in a "pool" like Ethermine: https://ethermine.org/

Mining in the Ethermine pool works really well, even for those who have enormous mining capacity. All participants get paid according to the amount of "work" they have contributed to the pool. It's basically like shares - everyone gets a tiny piece of the cake, and some get a lof of pieces. Once you have accumulated enough Ether on the pool, the pool will pay out your ether to the account you created earlier. You can choose to get payouts at 0.1, 1 (default) or 10 Ether, currently on the Ethermine pool.

To get started mining on the Ethermine pool, you need the mining app. You also need to configure it.

Download the mining app from: https://github.com/Genoil/cpp-ethereum/tree/master/releases

As earlier with the wallet app, extract the files. But then, here's the twist - this is a command line app, not a regular app with a graphical user interface.

ALMOST THERE NOW!! :-O

Before you start the miner, you need to configure it by making a .bat file. It's very simple:
In Windows Explorer, right-click in any white space, and select "New > Text Document".

Change the name and extension of the file to something like "Start mining.bat". (If you can't see the ".txt" extension, you need to enable it in Windows Explorer. Click "File > Change folder and search options". Then untick the box under the "View" pane that says "Hide extensions for known file types"):

Copy the configuration example from https://ethermine.org/ and paste it into your .bat file:

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 eu1.ethermine.org:4444 -FS us1.ethermine.org:4444 -O Your_Ethereum_Address.RigName

Change the value Your_Ethereum_Address before the dot to your wallet/account address. After the dot, you can set a nickname for your rig, which will show up in your dashboard on https://ethermine.org/ later once mining has started. This is helpful if you have more computers mining to the same address.

Right-click the bat file and select "Run as administrator". A windows command line window will open and if all works well the "DAG" file I mentioned in the beginning of the guide, will be generated. An update on the progress in % of DAG generation will show up in between other lines of text. Once it's done and the DAG is ready, mining will start. The DAG gets updated every day (automatically).

After a few minutes of mining, you should be able to check your statistics on https://ethermine.org/ by searching your address in the top bar:

Your hashrate is the amount of work you're contributing to the pool, and ultimately is the main measure of how much Ether you'll be able to make. The more powerful your rig is, the higher the hashrate will be.

HOW TO IMPROVE YOUR HASHRATE:
It is reported that Windows 10 will give you lower hashrates than Windows 7 or Windows 8 will if you're using Nvidia graphics cards. A possible workaround is to install an older Windows 7 driver on Windows 10 (see https://github.com/Genoil/cpp-ethereum - scroll down for more info).

AMD graphics cards are better at mining than most Nvidia cards, in terms of efficiency, so if you plan on upgrading anyways, why not go for a Sapphire Radeon RX Nitro+ OC type card? They should all give you great performance versus power usage ratios.

You could also look into building/setting up a dedicated Linux rig, but that is not covered in this guide. Performance overall is said to be better on Linux than Windows.

HOW TO (MAYBE) MINE USING 2GB GRAPHIC CARDS:
Some people have had success with mining despite having a 2GB graphic card by using the following settings in their bat file:
setx GPU_FORCE_64BIT_PTR 0
setx GPU_MAX_HEAP_SIZE 100
setx GPU_USE_SYNC_OBJECTS 1
setx GPU_SINGLE_ALLOC_PERCENT 100
setx GPU_MAX_ALLOC_PERCENT = 100

Some people also needed to add the following "argument" to the command line for the ethminer.exe as so:
--cl-extragpu-mem 0

Example .bat file content (replace address/rig name):

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 --cl-extragpu-mem 0 --farm-recheck 200 -G -S eu1.ethermine.org:4444 -FS us1.ethermine.org:4444 -O Your_Ethereum_Address.RigName

HOW TO CALCULATE PROFITABILITY:
You can use this calculator to see if it is / how profitable your mining could be:
https://etherscan.io/ether-mining-calculator

You can also check your estimated earnings on https://ethermine.org if you go to "Payouts / Rounds".

Good luck with your mining and please leave any comments, suggestions, tips, ideas and so on below! :-)

Tommy

Sort:  

Is mining on a laptop possible & Profitable?

Is it still worth mining ethereum as we speak?

Unless your power is very expensive, it can still be profitable. For example a $199 AMD card can generate about $400+ worth in a year of mining or so. You can calculate profitability here: https://etherscan.io/ether-mining-calculator

If all you want is some Ether, you can of course just buy it :-)

Very interesting -Thanks for posting - Subbed!

Thanks! Happy you like it :-)

Can we allocate only a portion of each of two cards. For example, I have a RX VEGA and an RX 460 using ethminer.exe. I cannot find any description of the commands and what they do nor what parameters are used for ethminer.exe.

I want to run my VEGA say at 70% and my 460 at 100% for mining. Is this possible? If so how? If not possible, how do we limit the amount of the GPU used for mining for our setup by lowering the system to say 70% of all GPU's. My VEGA GPU gets hot and I want to cut down on its power when I leave it running so it doesn't get damaged. Thank you.