In “Mining Cryptocurrencies” I wrote briefly about CPU, GPU and ASIC mining. All of these mining methods require software to get work (the complicated math problem) from the Cryptocurrency’s network and send it to the hardware to calculate.
Also, note there are several different kinds of math problems currencies use related to their protocol. I won’t go into a lot of detail, first because I’m not a math wiz, second because I could devote several posts to one protocol and there are several, but most importantly because that’s not the approach I’m taking in my blog. I’m here to help someone who doesn’t need to know every last tiny nuance of every Cryptocurrency to get started.
I will however list some Currency and Protocol pairs. Bitcoin uses SHA-256, Litecoin and DNote use scrypt, Dash (which used to be Dark Coin) uses X11, Ethereum uses Ethash, and ZCash uses Equihash. If you’ve taken my advice in previous posts you’ve checked out http://www.coinwarz.com/cryptocurrency and know you know what some of the items on that page are.
Going back to mining software… As I stated above, the hardware performs the math, but software is required to gather the math and send it to the hardware. That means a device is required to communicate with the hardware. In the case of CPUs, GPUs this usually means a computer with a hard disk to install the software. The first versions of ASIC miners were USB devices for computers and the software would detect them to send work to them. Standalone ASIC devices still have a CPU, network interface and software, but these software is flashed to a chip or written to an SD card plugged into an integrated computer like a Raspberry Pi.
Nearly all mining software is available for free from Github.com. Start by either going to a mining pool or the coin’s community page to find links and instructions. Standalone ASIC miners have their own software. Upgrades are usually available from the manufacturer.
In most cases the software only provides mining for one protocol. That’s not always the case, some developers have created software that can receive a command from a pool that mines multiple pools to switch which currency the software is mining.
Mining software is almost exclusively written in C++. Which doesn’t mean a lot to many people. But it allows for two main advantages. First the software can be easily put together for multiple OS, Linux and Windows being the most popular. Secondly the software is modular, or it can be broken up into pieces. Developers can take a miner currently available on Github for one currency and replace the parts they need for another currency and thus all the existing support for GPUs and OS come along for the ride. Likewise, if a new family of video cards is released it’s easy to add a new piece of code to support those cards. When you’re looking for mining software make to you download the right package for your operating system and your video card family (Windows/Nvidia or Linux/AMD etc.) Some software packages have both video card families available in each OS package, but you’ll find from reading through reviews that one software might work better with your hardware than another.
There is scant little mining software for Apple products. Mostly because Apple sucks. Yeah I said it. But also, because you can’t add and upgrade the Video cards for GPU mining and Apple locks down what software is made available to their systems. I guess the company is scared mining software might over heat the CPU.
As a funny side note, my son was actually trying to mine Litecoin on some of our old Android phones. He had to place them under box fans to keep them from over heating and in the end he never made enough to = $0.01, but the price of Litecoin is on the rise again so who knows.
Solo vs. Pool
I introduced a new term “pool” above, so now is a good time to talk about solo vs. pool mining. Solo mining means you use your hardware to mine blocks directly on the block chain. This can be profitable for the first 10 minutes a new currency network is up. Once the currency becomes popular and there is always a handful of miners who seem to have invested $1 billion in hardware to have the best Hash Rate, it’s time to find a pool.
Pool mining means miners pool their Hash Rates, or combine their work. The Pool itself gets the block reward and divides it among its member miners per the amount of work each contributed to finding the block. There are several different methods of determining how much each miner gets of the reward, but in general the miner who does the most work get the highest percentage. One of the bits of information you’ll get from Coinwarz.com is how much currency you should generate a day. Keep in mind that with Solo mining you only receive a reward when you find the block, but then you get the whole reward. You may not actually get that reward for several weeks… months? in the case of Bitcoin, unless you have spent $1 billion in your mining farm you will not see a reward ever. However, with pool mining, because you earn some of the reward every time a block is found, you should see your balance growing at the rate Coinwarz.com has calculated for you.
In the early days when most Bitcoin enthusiasts were altruistic and rebels against the world, all the software was open source and the pools were free. That’s not 100% the case anymore. Some of the best mining software for Altcoins has a DevFee built-in. For some part of your mining day the software will disconnect from your pool and connect to the developer’s pool and account and mine for them to reimburse them for the time they spent developing the awesome software you’re using. Likewise, mining pools almost universally charge a fee, 1 or 2% of your earnings to pay for the upkeep, fees and maintenance of the servers you’re using.
Up next a look at networks and wallets.
Wikipedia – Bitcoin
Bitcoin Forum – The most popular place to discuss all Cryptocurrencies
Cryptocurrency Trading Charts
Most Profitable Mining Calculations