How to mine Ethereum on a Windows PC?

28 Sep 2017

Ethereum is quite difficult to get mining on windows - although with a bit of help and following the tutorial below you can get it up and running and start your own ethereum mining project in 15 mins. We're going to show you how to start mining Ethereum on your GPU and CPU with Windows 64 bit in this guide. You will need to download two programs and need to have a decent GPU with more than 1GB of memory to get the most bang for your buck in terms of mining as Ethereum works on a memory hard hashing technique which GPU's are best at.

You can also mine Ethereum Classic (ETC) if you start your geth in Step 7 with the param --oppose-dao-fork. Read this if you want to understand what Ethereum Classic is.

Running a CPU you might be able to generate 0.15 Mega Hashes whilst with a decent GPU with enough memory you could be doing upwards 25 Mega Hashes (you can choose a GPU to mine ether here and use our guide on how to choose a GPU to mine ether). So in terms of total efficiency, taking into account electrical costs, a GPU is definitely worth it even if it costs you $200. 

You can also try buying a cloud mining contract with Hashflare or Genesis Mining.

Part 1 - Installing GETH, Syncing the Blockchain & creating your own address!

Step 1: The first thing you need to do is go to this link download Geth. Geth is the program that communicates with the Ethereum Network and acts as the a relay between your computer, its hardware and the rest of the ethereum network computers so if a block is mined by another computer your Geth program will pick it up and then pass on the new information onto your GPU or CPU for mining.

Step 2: You need to unzip the GETH file and move it to a location on your hard drive. In this case we'll move it to the hard drive, usually (C:) - which will make the next step easier. All you need to do is copy the file you have downloaded and unzipped and move it to the hard drive folder.

Step 3:Now you need to run the program you just downloaded. To do this you need to run Command Prompt. You can do this by searching in the search function in Windows for "CMD" and then clicking on it when it shows up.
 
Step 4: Command Prompt is now open - and can look terrifying to people who aren't familiar with it. The Command Prompt box usually has C:\Users\Username> showing in it - where Username is your username - so if you log into your computer with the username cryptocompare then the command prompt box will open with C:\Users\cryptocompare>. You need to tell the computer to look in another place Type cd / into the newly opened command prompt. You should now see "C:\>", You have just used the cd command or "change directory" command to make command prompt look at the C:/ drive.
Step 5: You need to tell your Geth program to create a new account. As you have installed it in your user directory in Step 2 then it is just a simple case of typing in "geth account new" and then pressing return/enter. This should look like this "C:\>geth account new". 

Step 6: After hitting the enter button in Step 5, you will be asked to enter a password - N.B. you will not be able to see what you are typing in so type it carefully. This is the password that locks your account and keeps your Private key safe - if you lose this password you will lose all your Ether attached to the wallet held by that Private key. Once you have entered your password and confirmed it by entering it a second time you will have created a new account! Congratulations your about a third of the way there.
Step 7: You need to tell your Geth Program to start communicating with the rest of the Ethereum network. You do this by typing in "geth --rpc" - this should look like "C:\>geth --rpc" (on the latest version you should try: geth --rpc --fast --cache=1024) Press enter and the screen should start downloading the blockchain for Ethereum - at this point you are synchronising with the rest of the Ethereum network. This can take a while depending on your internet speed and the current size of the blockchain, anywhere between 20 min and multiple hours. Sometimes your firewall can block this process - just click allow access. Keep this cmd open, you will need this to run in the background in order to be able to mine. Also make sure you start mining only after your blockchain is synchronised, not before. Due to The DAO hard fork you will have to specify if you want to mine on the hard fork chain or on the chain without the hard fork. To mine Ethereum (ETH) use geth --rpc --support-dao-fork in order to mine Ethereum Classic (ETC) use: geth --rpc --oppose-dao-fork

 

Part 2 - Installing the Mining Software and Starting to Mine

Step 8: Now you need to download Ethminer which makes your GPU or CPU run the hashing algorithm that is integral to securing the Ethereum network through proof of work. You can download this here and be sure to scroll down to the bottom of the page to get the right version - the latest and most up to date one is right at the end.
Step 9: Click on the download and click install. Your firewall can cause issues but just click allow if it does so - the same is true of windows that doesn't recognise or approve the software - tell windows its ok when asked. Click through the installation process until Ethminer is installed.

CPP Ethereum

Step 10: You need to open up another command prompt as in step 4 - so your going to get two scary looking boxes. Simply click right click on your already open command prompt in the taskbar at the bottom of the page and click on command prompt in the menu that appears. A new command prompt should open with "C:\users\username>". This is the wrong place to look for etherminer so you need to tell it the right place to find it.

Step 11: Type "cd /" into the newly opened command prompt which should look like this "C:\users\username>cd /" and then press enter. You should now see "C:\>", You have just used the "cd" command or "change directory" command to make command prompt look at the C:/ drive - not your user file.

Step 12: Type in "cd prog" and then press the tab button. This should look like this C:\>cd prog and then press "tab" which will automatically complete the phrase for the closest fit found in the C: drive just like autotext does on your Iphone. After pressing "tab", you should see C:/> cd "Program Files" and press enter which should give you a new line saying "C:\Program Files>".
Step 13: Type in cd cpp and then press tab and then enter. This is taking you into the newly installed Ethereum Mining software folder. And this should look like this after pressing tab C:\Program Files>cd cpp-ethereum and pressing enter gives you C:\Program Files\cpp-ethereum>.
Step 14 GPU mining (only do this after your blockchain is synchronised): Type in ethminer -G and press enter and then you should start mining with your GPU after building a DAG file which can take around ten minutes. There can be problems at this point. For example the program might say that you have insufficient memory on your Graphics card to mine the with Ethereum's Ethash algorithm. If this is the case you can still mine with your CPU or go out and buy a new graphics card! You can see our graphics cards and compare their return on investments here and check out our guide on how to pick an ethereum mining graphics card here. We've also added a guide on how to build your ethereum mining rig.
If you get an error message press Ctrl and c together to cancel the process. Then you can either retry it - or alternatively move onto step 16 and mine with your CPU rather than your GPU.

Step 15 CPU mining: Type in ethminer and press "enter" and you will start mining with your CPU. Again you will need to create a DAG file the first time you do this which can take some time. But after that is complete your Geth program downloaded in step 1 should start talking to your ethminer program and you should start mining!
Step 16 Hashing Power benchmark: If you want to get an estimation of your hashing power you can run ethminer -M (for CPU mining) or ethminer -G -M (for GPU mining). The command will run and you should get a result similar to the image bellow.

Step 15 and 16 possible error: If you are not patient is "JSON-RPC problem. Probably couldn't connect. Retrying in 1..." As you can see in the screenshot bellow this happens when you don't have the blockchain synced yet.

FAQ:

If you are having issues getting your GPU to mine type ethminer --opencl-platform 1 to fix it for Nvidia. This usually happens when you have an integrated GPU as well as a dedicated one. 

If you are having issues finding peers, try to use: geth --nat=none

If you are using ATI cards, in order to optimize your mining open a cmd prompt and run:

setx GPU_FORCE_64BIT_PTR 0
setx GPU_MAX_HEAP_SIZE 100
setx GPU_USE_SYNC_OBJECTS 1

Also when you run ethminer, try using the extra params: --cl-global-work 16834 --cl-local-work 256

Good luck and if there are any problems type a comment in at the bottom of this article and the community will help you get started! And that said if anyone has any ideas to make this guide simpler please let us know and we'll update it as soon as possible! And if this is too difficult you can always follow our other guide on how to cloud mine Ethereum but this might not be as profitable as it initially looks - the no hassle easy method to mine ethereum!

This guide shows you the basics of solo mining, it should give you a good idea of how everything is connected, if you would like to use a mining pool instead you can try our How to connect to an Ethereum mining pool guide.

If you want to transfer funds from you wallet to an exchange or to another account, check out our guide on how to do an Ethereum transaction.

P.S. If you like the desktop background in the last 2 pictures, you can get it from here: CryptoCompare Desktop Background. Also now that you are happily mining visit our Ethereum page if you want too keep up to date with the latest Ethereum price and market cap

Comments
CryptoCompare needs a newer browser in order to work.
Please use one of the browsers bellow: