[This guide was written with the help of mining specialists from HashFlare.io]
Mining Ethereum is no rocket science, even on Windows. There will be some command prompt and script writing involved, but this guide will cover everything you need to know to get started with mining Ethereum on your PC. However, if you do not want to spend the time going through all the steps listed below to get started with Ethereum mining, you may want to consider HashFlare cloud mining contracts.
To get started with Ethereum mining, you will need the following:
a) Graphics Cards (GPUs) - Make sure you have a decent one with at least 2GB of memory on it. This website has a user-submitted list of popular GPUs for your consideration
b) x64 version of Windows Operating System
c) About 30 GB of free space on your hard drive for all the software and the blockchain
1. To get started, first, create a folder on your hard drive, C:\Eth for example. This is where all the mining software will go.
2. Next, you will need to download the following softwares:
a) Geth - Pick Geth-Win64, download, and extract it
b) Ethminer - Download and extract it to the same folder then rename it to “miner”
c) Ethereum Wallet - Pick Ethereum-wallet-Win64, download, extract, and rename it to “wallet”
For more information on what you are downloading, these are the explanation:
- Geth is the “communication” piece of software, it acts as a relay between the Ethereum Network and your computer, downloading and synchronising the blockchain. It also passes information to the mining software.
- Ethminer is the actual mining software that works with your GPU.
- Wallet is self-descriptive, it allows you to check your ether balance and transfer the funds.
If you get one of these firewall notifications, do allow access to proceed.
GPU drivers play an important role in the mining process. Using the newest drivers is not always the best option. For AMD GPU, version 15.12 and for nVidia, version 347.52 works well. If you are setting up a dedicated mining rig, consider downgrading and using the abovementioned drivers as they have proven to provide a higher hashrate.
Setting Everything Up
3. Open the command prompt (press Win key + R and type “cmd” or simply open Start menu and type “cmd”). Command prompt (or a console) is a command line interpreter, a software that allows you to execute entered commands to the operating system.
4. Type cd \eth and press Enter.
The Enter or Return key is used to confirm a command, so you have to press it every time a new command is entered. cd is a command used to change the Current Directory. In our case, we are navigating to the root directory of the C:\ drive and then to eth folder.
5. Type geth account new and press Enter. Here we are telling Geth to create a new account for us. You will be asked to create a password (you will not be able to see what you are typing, so be careful) and re-enter it. Geth will generate your address, public and private keys. Keep your password safe and don’t forget it!
6. Minimise the console then go to the wallet folder and run Ethereum-Wallet.exe. It will immediately start synchronising the blockchain. This process may take a while as currently the blockchain is about 27GB. When the download completes, you will be asked for a password again.
You now have control of your Ethereum wallet! The balance of 0.00 looks sad, so let’s fix that and set up the ethminer. You can minimise the wallet for now.
7. For this guide, we will be using dwarfpool. You can mine solo as well, but that is a bit more difficult and is not recommended for beginners.
Let's keep the blockchain synchronised while we are mining. Switch to the console and type geth --rpc. Geth will start taking care of the blockchain for us.
Geth will run for as long as the console window is open, so don’t close it!
When you can read “...imported 0/1 blocks (0 queued 0 ignored)...” in the Geth console log, you’re fully synced and can proceed.
8. Open another console, and navigate to the miner directory (cd \eth\miner).
Here comes the tricky bit: we need to enter the correct command to make our miner connect to the pool and start mining. The string will be quite bulky, so you can enter it somewhere else (Notepad, for example) and then copy to the console (Ctrl + C to copy and Right Mouse Click in the console to paste).
9. We need to start the ethminer.exe first, so our string starts with ethminer
Next, we need to specify which GPU we are mining with. AMD is -G, nVidia is -U. Since we have an AMD GPU, our command will be ethminer -G
Since we will be using a mining pool to mine, we will also need to add -F to the command: ethminer -G -F
Next, part of the string will depend on the pool. Dwarfpool’s address is http://eth-eu.dwarfpool.com:80/YOUR_WALLET. Replace YOUR_WALLET with your Ethereum address which you can copy from the Wallet.
Thus our command now becomes:
ethminer -G -F http://eth-eu.dwarfpool.com:80/0x368bcdbf8e35ba183be107a2f28b07b903b4d6b7
And here comes the tweaking part! We’ll add --cl-local-work 256 and --cl-global-work 16384 to give us a few extra MH/s, and we will need to add a few other arguments to select our AMD GPU:
ethminer -G -F http://eth-eu.dwarfpool.com:80/0x368bcdbf8e35ba183be107a2f28b07b903b4d6b7 --opencl-platform 1 --opencl-device 0 --cl-local-work 256 --cl-global-work 16384
You can find all these arguments and their descriptions in the help.txt file in miner folder. Since they are not universal, you will need to test to see which ones work best for you and your miner.
Check that you’ve entered everything correctly, and hit enter.
The miner will take some time to start up, and you’ll be mining soon! If you get any error messages like “Invalid argument” - check that you have entered everything correctly.
10. Now, let’s create 2 scripts to make your life a bit easier - you do not want to enter all the above commands every time you want to start mining or change something, do you?
Open the Eth folder, click on the View tab, check the File Name Extensions box.
Create a new text file and rename it to geth.bat - make sure to delete .txt bit at the end of the filename.
Now Right click on it and select Edit. Type the following: start cmd /k "geth --rpc"
Save and close. Now, when you need to launch Geth, you can simply execute the script, it will start the command prompt and start the Geth up.
Note that this script will only work in the Eth folder, so you will need to create a shortcut to it if you want to launch it from elsewhere.
11. Create another script and name it miner.bat. Open it, type the following string and add your address :
start cmd /k “cd miner & ethminer -G -F http://eth-eu.dwarfpool.com:80/YOUR_WALLET”
Now, if you want to add any arguments as we did before, you can edit these scripts.
There we go! Now you know the basics on how to mine Ethereum on your Windows PC.
If you would like to optimize your mining performance, do start searching in forums, guides and articles about Ethereum mining to check the GPU stats, choose a different pool or start solo-mining.
The above guide serves as a really basic guide to get started on Ethereum mining. If it seems like too much of a hassle or you keep getting errors that you could not figure out how to fix, the best option to still mine Ethereum is to consider getting a HashFlare Cloud Mining contract. It is by far the easiest way to get started with Ethereum mining.