My blog is all about introducing newbs to the world of crypto. I consider myself to be a newb as I have been truthfully only seriously researching, investing for the last month, and maybe only mining for the last couple of weeks. I'm a bit of a software nut and had a lot of fun trying a lot of various mining configurations. I have seen some other posts here indicating that some of my fellow newbs could use some pointers. Here's where the rabbit-hole led me.
Part 1: "Hey man, five bucks is five bucks"
It all started innocently enough with some profitability estimates on betterhash. That's how they draw you in. $3 a day to do nothing? $2.50 after power? Well, 50-100 dollars a month for sitting around and pulling my pud sounds pretty cash. I decided to jump in.
Part 2: "The more I know about security, the more I wish I were born in the neolithic era"
The first startling reality of mining cryptocurrency that you encounter is the closed nature of the majority of the binaries that you will encounter. You will inevitably have to enact wide sweeping or many exceptions to allow your miner to run. There are a few miners like xmrig that allow you to download and compile code that you can theoretically (let's face it, who has time and actually would) review and ensure the code is safe to you. The majority of the binaries that you will download and use are closed source and in my honest opinion a little terrifying. Cloud miners like betterhash and nicehash distribute software by referring the clients to github. If the code author's github account managed to get hacked, someone could potentially upload a miner that behaves like a normal miner, but donates 50% of the profit to the code author, or even worse, install remote access and C&C tools to allow the author to begin the job of stealing your identity and ruining your life.
With this in mind, we want to truly ask ourselves, are we ready for this? Have we prepared? Is my environment secure enough? If you are here reading this blog, there's a good chance the answer to this question is no. The solution that I have found is sadly to not trust an operating system that is running a cloud miner. I have made a personal exception to run xmrig on trusted computers. In these cases I download and compile xmrig to ensure I'm being safe.
With my tinfoil hat properly secured, I move on to benchmarking, the most important part of the process in my opinion:
Part 3: "So... what am I mining? Bitcoin?"
Great question, internal monologue! The answer, unless you happen to be some ridiculously wealthy mining mogul with a pack of ASICs at your disposal, is that you are almost certainly not going to be mining bitcoin on your RTX. The reason for this is that the difficulty of the mining tasks at this point are so complicated and the competition of ASIC mining hardware is so strong, you will never profit mining bitcoin. Never fear, there's our pals Ethereum, Monero, and an army of alt coins to keep us wasting power for our own minor financial benefit.
What I personally found was that the best way to get a good idea of your mining capabilities was to download nicehash, turn off your AV, install nicehash, put in a blanket exception for its install folder, turn AV back on, download all of the plugins you can run on your video card, and turn benchmarking to 'precise'. Make sure your video card is up to date, and you have the video card fan dialed up to warp 9(use afterburner or your video card manufacturer's software to do this). You are about to lay some serious abuse down on your silicons.
Let nicehash benchmark all of the algos it can run, stick around and make sure you let it access the firewall and that it isn't complaining about missing files (your AV is likely the issue). in the end you should have a list of results you can sort.
What I recommend you do now is run nicehash for a whole day, come back and look at the history graphs. More than likely you'll see it's mining ethereum with daggerhashimoto using a specific miner that works well for them.
For me personally, I was sitting at about 2 bucks CAD mining this way on an old AMD R9 390, and a little more mining monero with my 2700x. I'm an engineer, a relentless nerd, and a lazy prick who the idea of free money is extremely tantalyzing to. Combine these things together, and this turned out to just be the beginning of my mining rabbit hole.
Part 4: "That's SO raven"
I was becoming a bit annoyed with Nicehash as an engineer. There weren't enough knobs, the plugins were rarely the latest release, and I was convinced they were robbing me and that doing some DIY business with my own pools would work. I decided the only way to prove to myself this wasn't the case would be to mine some alt coins and try out some pools myself.
If you are familiar with how to set up command line arguments, you are pretty well set to do this. Once you research a pool you think will work, they'll have instructions showing you which params to set and where to put your wallet.
I narrowed my sights down to ethereum and ravencoin, as those were the 2 that Nicehash was using. I also tended to prefer the best performing miners, in my case it was SRBMiner and nanominer respectively. I tried a few pools, and noticed a few things about DIY mining.
The first big thing was the downside of being the little guy in PPLNS systems. This is called 'pay per last number of shares' vs 'pay per share'. It basically means there is a window of time behind 'now' that is considered to be the PPLNS window. Your miner is working to find 'shares' and these shares exist within that window for a certain period of time. Your actual payout for PPLNS is determined by the number of shares you found that exist within that window when the block is found. In a PPS system, it doesn't matter and they pay a flat rate per share.
I have heard many schools of thought, that PPLNS works out to more over time with luck, but in my personal experience it appears that PPS offers more consistent, higher payouts. Obviously your mileage will vary.
All in all, I found I could make a bit more (maybe) if not the same amount of money mining ravencoin on my own. I was using the 2miners pool which paid me out pretty regularly, about 10 ravencoins once a day or so. I also set up xmrig for CPU mining and used supportxmr as my pool.
When you DIY pool mining, unless you have a lot of power, often time you have to commit yourself to mining a certain amount of currency to get a payout to avoid 'wasting' your time and being below the threshold. This is true of cloud miners like Nicehash, but the fact that it converts everything to BTC increases your payout frequency and flexibility.
After careful study I really started to get the impression that the Nicehash payout system was a bit better than most of the pools I was using, and would lead to more frequent payouts. You can also generate a stratum for almost any miner and point your own miner at Nicehash, so if you find a config that works, you can still use it. I then set off to optimizing xmrig, because it's open source!
Part 5: "WILL IT COMPILE?"
I encourage all of you miners out there to play with compiling xmrig in linux, as it's dead simple and there are great guides out there for most operating systems.
The great thing about xmrig being a CPU miner is that it can run on modest hardware, and if that hardware is low power, it can be marginally profitable to mine on it.
This is where things got a little crazy. I started to compile xmrig on every linux system I had. 10 year old laptop? Sure. Raspberry pi 4? Why the hell not. I compiled and ran xmrig on everything I had and pointed them all at support XMR. I very quickly had 4 little miners making next to nothing in a little borglet for me.
Part 6: "....Double?"
As with all things in the world of compute, if you want to do it right, efficiently, and relentlessly well, you turn to Linux. I read on a forum somewhere that the R9 390 had a set of compute drivers it could utilize that was only specific with a certain range of linux kernels. I created another post detailing how I did this exactly using Ubuntu 20.04 beta server release with no patches or updates whatsoever. Not the most secure option, but it managed to double my hashrate for eth from 15 MH/s to around 30 MH/s. This changed the game on this card and let me break new price barriers.
In the end I ended up pointing this linux setup, and all of my xmrig miners back at nicehash just to ease payouts and amalgamation of funds. All told the machines together amount to around $5 a day. It was about double my original rate. Not a fortune, but it's all going into the ole crypto portfolio into various alt coins to HODL. But that's a story for another day...