This is a sidebar post; you may wish to read the main mining rig post here first.
One thing I didn’t cram into my earlier post on getting started on cryptocurrency mining was how you actually make money (or fail to). To figure this out, we will look at the two ways you can mine cryptocurrency.
Drawing the Pool Picture
The “classic” method is what we’ll call solo mining. This means you’re looking for blocks on your own. If you find a block, you get the whole reward for yourself. For Bitcoin, this could be over $100k in one fell swoop. However, unless you have $100k or more in custom mining hardware (ASIC miners like the Antminer S9), your odds of finding a block on your own are miniscule at best.
The more confusing method is called pool mining. This means you contribute the work your miner does to a collective, who share out the rewards when the collective pool finds a block. If you’re the lucky block-finder, you get a LOT less reward than if you solo-mined that block, but the other 99.999999985% of the time (scientifically chosen random nearly 100% number) you’re getting a lot MORE than if you solo-mined and didn’t find anything.
You could think of mining in this situation as similar to taking a metal detector out to the Atlantic or Pacific beach looking for gold or other treasure. There’s a lot of shoreline and beach, and if you go out with one metal detector (or even two, one in each hand), you can only cover so much space. Take 10, 100, or 150,000 friends with their metal detectors and you have a better chance of finding something and sharing the reward.
How do I find a mining pool?
In the main post, we looked at Ethereum mining. For Ethereum, there are a lot of pools, including Ethermine (I believe the largest one), Dwarfpool, Nanopool, Anorak, and others. For other currencies, you can search Google for the latest lists of pools, or check some of these (Dwarfpool, Nanopool, and Flypool/Ethermine support multiple currencies, as do btc.com and a few others).
You’ll want to find one that has a pool close to you on the network. Low ping times and low-to-no packet loss is good for mining, especially if you’re a smaller miner. Many of these pools have their primary sites in Europe or Asia, so you might have to look for alternate servers on their home pages for the US.
Use the ‘bing’ utility (related to ping, not to Microsoft) or something similar to test connections to a mining pool server.
How do I set it up?
Many mining pools have a help page that shows the specific invocations for various mining software, and even where to find the software (especially helpful for Windows-based miners). Look around for that, or at least for the list of servers and stratums.
You may have to choose a port or pool based on the hash rate your system produces. If this is the case, check the documentation for your mining software to see how to do this. For example:
ethminer -G -M
claymore -benchmark 1
You’ll also find that some pools have a separate address or port for stratum or claymore mining. If you use Claymore’s miner, look for that specific pool.
If you plan to run 10 or more mining rigs behind one address, or if you have a slow or flaky connection that you absolutely can’t fix, look into using a proxy like dwarfpool’s stratum proxy. This will let you optimize your connection and may improve your mining performance as far as getting the latest work to do (it won’t speed up your GPUs or the like).
You might also want a proxy if you want to monitor/control bandwidth used by your mining rigs, although it’s fairly low under normal conditions. Including a full update over-the-net of the Ethos distribution, my rigs used about half a gigabyte of data each in the week ending March 2nd, with an average throughput outside of that bulk update of about 10-15 kilobits per second.
Where do we go from here?
If you have any experiences you’d like to share, or discoveries you’ve made around mining pools, let me know in the comments. I’ll update this post as details come in.
If these posts help you, feel free to visit our “support” page, or you can send some Ether to 0x0055AE64F55df4Ae3e7BE0629537Eedf1adECba4