How to mine Ethereum on Windows 10 (or other cryptocurrencies) to generate passive income
So I built a ridiculous $3800 custom Windows PC in March 2021 (with a Ryzen 9 5900x CPU & an Nvidia RTX 3090 GPU), and I was looking for a way to passively generate income from it using crypto mining to justify the cost of this purchase. Especially as I wasn't going to be using the computer 24 hours a day, 7 days a week.
Mining cryptocurrency is only possible for cryptocurrencies that implement the Proof of Work (PoW) consensus protocol. In simple terms, this means that your Graphics Processing Unit (aka video card or GPU for short) performs certain computations, and in return you get rewarded with small amounts of crypto for lending your computation power to the blockchain. This is what makes public blockchains truly decentralized.
In this post, I talk about:
1. Why I started mining Ethereum (ETH)
2. Crypto Mining Basics (Definitions)
3. How to mine using ethermine.org, lolMiner, and a software crypto wallet called MetaMask
4. What to do with this mined resource? In this case Ethereum, but generally any other cryptocurrency.
5. What Ethereum's eventual Proof of Stake upgrade (ETH 2.0) means for mining?
Disclaimer: This post is written for newcomers to crypto. Please feel free to skip sections as not every section is mandatory reading. This guide also assumes you have an understanding of your computer's hardware. Please mine crypto at your own risk and verify these steps with multiple sources.
Improper usage of mining hardware can be dangerous, and a potential fire hazard. Please ensure you consult professionals if you've experienced issues with your electrical setup. farezv.com cannot be held liable for any damage/harm caused by your attempt to mine cryptocurrency improperly.
farezv.com uses affiliate links and I may be compensated accordingly.
Why mine Ethereum? Or any other cryptocurrency that uses the Proof of Work consensus model?
If you have an ability to generate income or profit using an asset that constantly increases in value, whereas the underlying cost is fixed, it makes sense to invest more in that asset as you will profit in the long term with that investment.
This is the same reasoning behind buying a house instead of renting (assuming you're planning to stay in that particular location long term) as the money spent on renting is generally lost whereas the cost of a mortgage builds your equity in a property. Since the interest cost is fixed over your mortgage period (typically 15-30 years) and property values generally go up in the long term, paying a mortgage on a house is a good investment.
I live in a county in the USA where the electricity cost is fixed all day (unlike many parts of the country, where the electrical cost varies based on time of day).
I've since made roughly ~0.1 Ethereum (ETH) per month, which comes to ~$340 / month before taking electrical costs into account based on today's Ethereum value. If you do coinmarketcap.com analyses and consider ETH to be a strong competitor to Bitcoin (BTC), then it's fair to assume ETH could grow to 10x it's current value long term. Meaning I would've supplemented my income with ~$3400/month in the long term.
Crypto Mining Basics
A blockchain transaction is some exchange of cryptocurrency between a source wallet and a destination wallet.
Crypto mining essentially involves a simple transaction. A blockchain transaction needs verification on the global ledger, and a miner worker performs the mathematical and cryptographic calculations required to validate such a transaction.
If that was confusing, don't worry! Let's define common crypto mining terms, so we're speaking the same language. Each of these can be a separate post but these short definitions should get us started for now.
A miner is a piece of software that uses underlying mining hardware to mine cryptocurrency. We'll be using lolMiner in this example.
A miner worker is an individual and indivisible hardware unit that performs the act of crypto mining. It's usually a single Graphics Processing Unit (GPU aka video card) running the mining software in order to receive blocks of work to mine.
The rate at which a miner worker mines crypto currency is measured with a hash rate, typically mega hash per second (Mh/s) or giga hash per second (Gh/s). Each piece of hardware (in this case a GPU) consumes some energy to do the mining, in the form of electricity measured in watts.
Mining efficiency is a measure of how high a miner worker's hash rate is compared to its wattage requirement to maintain that hash rate. This efficiency is typically measured in mega hash per second per watt (Mh/s/watt) or giga hash per second per watt (Gh/s/watt). The higher this number is the better. In other words, we want to maximize the hash rate (mine more crypto blocks per unit of time) and minimize the power draw of the underlying mining hardware (thereby reducing our electricity costs).
A wallet, is a software, hardware, paper, or Crypto Exchange "store" where cryptocurrency is held. Wallets can have multiple crypto accounts associated with them. Wallets can be "hot" (connected to internet) or "cold" like hardware wallets. Cold wallets are not connected to any internet networks (and thereby generally non-susceptible to hacks). MetaMask is one example of a software wallet which can run on a web browser as a plugin, or on mobile phones as an app.
A crypto currency exchange is where you buy and trade cryptocurrencies, such as Coinbase, Voyager, Blockfi, Gemini, Binance, Robinhood etc. There are centralized (CEXs) and decentralized (DEXs) exchanges.
A crypto account address is a unique public address on the blockchain for that specific cryptocurrency. My Ethereum address is
0x1bF51ED6cD81dE4449D4Ca3c33822ECC5f3F66a4
Similarly, my Nano cryptocurrency account has a different address and it'snano_3pr9488qndzpaiibk4e9jwcmib5qqpc9wnh4pjjcsfopkahwrjgjeiwmd89p
Wallets have a 1:many relationship with crypto accounts. Meaning if you want to hold 2 crypto currencies, you need to have two different wallet addresses. Crypto exchange accounts "abstract this away" by providing you a single account to see all your crypto from.
A mining pool is a group of miners collectively mining a cryptocurrency on a blockchain. Ethermine.org is an example of a mining pool. Mining on a pool usually reduces the complexity of mining setup.
Crypto Wallet, Miner Software and Mining Pool Setup
Now that we understand the basic concepts of crypto currency mining, let's explore the actual steps required to set up a miner.
1. Create Wallet by Installing MetaMask
The first step is to install MetaMask on Chrome (as a browser plugin). Once setup, you can always sync your wallet with your phone using the iOS or Android app.
Once installed, click Get Started
Click New Wallet. Alternatively, if you've already setup your wallet, you could import it using the Secret Recovery Phrase also known as Seed Phrase.
Be extremely careful with your seed phrase. It's the master key to your crypto wallet. The password step below is to sync your wallet across client applications such as a web browser (like Chrome), iOS or Android apps. If you forget your password, you can still recover your wallet with your seed phrase.
If someone finds your seed phrase, your password secrecy won't help you as they could sync your wallet on their client, and transfer all your crypto out thereby compromising your wallet and rendering it useless.
Please note, once your crypto has left your wallet, whether on accident or on purpose, there's no reverting it back. The world of crypto is decentralized and unregulated at the moment. There are no refunds!
Create a strong password. This can be used to sync your wallet across devices (iOS, Android, Web Browsers).
The next screen screen shows you the generated Secret Backup/Recovery Phrase with aforementioned warnings. The following screen asks you to verify your backup phrase by clicking on the words that appear in the phrase in order. For obvious reasons, I'll skip sharing the screenshots for these two steps.
Congratulations! Now you can use your MetaMask wallet to mine and exchange crypto! You should now have a public crypto wallet account address that resembles something like 0x1bF51ED6cD81dE4449D4Ca3c33822ECC5f3F66a4
. This address can be shared publicly because this is how you send and receive payments.
2. Setup Miner Software
We'll be using lolMiner as mentioned above, directly from their GitHub url https://github.com/lolliedieb/lolminer-releases/releases. Please be aware that there are a lot of phishing websites and scam artists that pretend to be legitimate miners and use your hardware to mine crypto for their own wallets.
Please always use miners from the official project url and verify using multiple sources to ensure your crypto and hardware resources are not vulnerable to malicious actors.
In fact, please double check the url for the miner above is correct from another blog, YouTube video or a public forum such as reddit.com/r/ethermining to ensure we have it right!
Having said that, please recognize that mining software is considered intrusive by most anti virus software. So you'll have to add an exception in your anti virus software or firewall settings for any miner software you attempt to use.
Download lolMiner's latest version (in this case version 1.33 Win64.zip for Windows)
Navigate to your downloaded .zip
file and right click on it. Click Extract All
and then Extract
in the built in Windows extract tool pop up window. Navigate inside the folder and you'll see .bat
files (pronounced batch files) starting with mine_
.
If you don't see file extensions in Windows Explorer, you'll need to enable it in your file explorer options. Click on your
Windows key
/Cortana Search Bar
/Start Menu
(depending on what you call it), and typeFile Explorer Options
in the search menu. HitEnter
and navigate to theView
tab. Uncheck the box that saysHide extensions for known file types
. You should now see file extensions in Windows Explorer.
3. Mining Pool Setup
Navigate to Ethermine.org
Click on Start Mining
We typically want to connect to geographically closest server to minimize round trip time (RTT) between our computer and the mining pool server.
RTT is a computer networking concept. It determines the total time it takes for a network packet to travel from your computer (referred to as a client computer), to a server computer, and back. This two-way trip is also referred to as latency.
Best mining performance requires a GPU with over 4 gigabytes of video ram (VRAM). However, if your video card has exactly 4GB of VRAM, please use the mine_eth_4g.bat
file.
Otherwise, right click the mine_eth.bat
file and click Edit
. Files with extensions .bat
in Windows have a special significance. These batch files can be used to execute programs. Therefore, the built in Windows anti virus program Microsoft Defender
will try to warn you against using this file as it was downloaded from the internet. This is why we stressed the importance of being extremely careful when downloading mining software. Click More info
and Run anyway
.
That should open the batch file. Add the following values to the file based on the server closest to your location.
@echo off
setlocal enableDelayedExpansion
set url=http://127.0.0.1:4444
set file=lolMiner.json
set tmpfile=Perfomance.json
Rem #################################
Rem ## Begin of user-editable part ##
Rem #################################
set "POOL=us2.ethermine.org:4444"
set "WALLET=0x1bF51ED6cD81dE4449D4Ca3c33822ECC5f3F66a4.lolMinerWorker"
Rem #################################
Rem ## End of user-editable part ##
Rem #################################
:loop
lolMiner.exe --algo ETHASH --pool !POOL! --user !WALLET! --watchdog exit
if %ERRORLEVEL% == 42 (
timeout 10
goto loop
)
pause
Please double check your WALLET address to ensure you're not wasting your computing resources. Save the file with File -> Save
or press CTRL+S
.
Double click on the batch file you just saved, and viola! Your miner has started mining Ethereum!
Your mining speed may vary depending on the temperature of your GPU, how hot/cold your environment is and sometimes, even the quality of the chip specific to your GPU.
Each New job received:
line specifies a new transaction that your miner is using the GPU to perform Proof of Work calculations on. Every few minutes, you'll see a summary in blue text showing your speed, pool, best share, power consumption and mining efficiency.
Navigating to the following link with YOUR WALLET ADDRESS
filled in will help you visualize your profits https://ethermine.org/miners/YOUR_WALLET_ADDRESS/dashboard
Clicking on the Payouts tab will show your payout statistics and a record of your past payouts.
Congratulations! You now have passive Ethereum mining income!
What to do with this mined Ethereum?
You can use your collected Ethereum on MetaMask to swap with other coins or transfer it to an interest earning exchange account (such as Voyager) or stake it for interest in Coinbase. More on that later!
Plug in your hash values on whattomine.com to predict your payouts for different cryptocurrencies.
Ethereum 2.0 (Proof of Stake)
Ethereum's current widespread ecosystem relies on the Proof of Work consensus model whereas there are efforts underway to move to a Proof of Stake model. This means that Ethereum will no longer be mineable once the upgrade is complete in it's entirety. But fear not!
The next #Ethereum network upgrade, London, is coming.
Learn more about EIP-1559 and other changes, and get ready by upgrading those nodes! 🦄https://t.co/90coW9QMHP— Ethereum (@ethereum) July 15, 2021
There are plenty of other cryptocurrencies that rely on Proof of Work that you could mine such as ERGO and Raven Coin. More on those later!
You could also keep earning interest on your mined Ethereum by staking it. Staking cryptocurrencies is quite a deep topic so please stay tuned for more!