For the past eight months, I have been more than a little interested — and involved — in Bitcoin and Litecoin mining on Mac OS X. I have authored many how-to articles for Bitcoin and Litecoin mining. I also maintain several repositories for running popular mining software, cgminer and bfgminer, on OS X. I work closely with the authors of both projects ensuring that new builds are up-to-date and functional on OS X.
But I’ve been up to more than that in the world of crypto-currency. The truth is, if you want to do scrypt mining (the algorithm using by Litecoin) then you do not want to use a Mac. They may be okay to try this sort of thing out (and are fine for ASIC mining Bitcoins), but scrypt mining is very hard on a GPU and things get very hot very fast. Not only are you likely to damage your hardware, but you will never get the sort of hashing performance you get out of a purpose-built machine. The best way to go about things is to build an open-air Windows or Linux “rig” – which, being a geek, is exactly what I did:
To clear up the obvious questions:
- Yes, it is almost more desk parts and zip ties than computer
- Yes that is a dish rack and yes it does make things go faster
- Yes, it is loud enough to be relegated to the storage room
- Yes, I did name it Deepcore after the mining rig in The Abyss
It was a lot of fun to build. You can read about how to build them on sites such as coinminingrigs.com. But I quickly grew tired of using batch files to control the various mining devices in the mining rig I had created. And the more devices I added, and more coins I started to investigate, the more tedious it got.
What is MultiMiner?
The tagline for MultiMiner is “Your coins. Your pools. Your way.” MultiMiner was designed from the start with a very specific purpose in mind: to make it simple to use every mining capable device on a PC to mine any coin on any mining pool, and in any combination. No existing utility at the time (and to this day that I know of) made it simple to view all of the devices on a machine and then choose what coins to mine with them, mixing and matching as you please.
Work on MultiMiner began in June of 2013 and has evolved since then:
Over time, development has shifted from focusing solely on flexibility and control to including ease-of-use and integration in the design goals.
Let’s check out what MultiMiner looks like to the new Bitcoin miner on Windows.
Depending on the mining devices you plan on using you will need one or more of the following drivers installed:
There are several things to note here:
- The BF1.INF file for the Red & Blue Fury sticks is currently unsigned. The newer your version of Windows (up to 8.1), the harder it will be to install. I have been assured it is just a standard USB device driver (it contains no DLL or DRV). But you will have to take specific steps depending on your version of Windows to get the driver installed (Google helps here).
- The HashBuster Micro “driver” is actual a utility called Zadig that registers the standard WinUSB driver for a selected device. By running the utility you can select your HashBuster Micro device and register the driver with a click.
- From what I understand, the older AMD drivers work better for scrypt mining. Ultimately you want to use something like Catalyst 12.8, but this may or may not be reasonable depending on whether your mining rig is dedicated.
You can download the latest version of MultiMiner from releases.multiminerapp.com. For the adventurous (and my coding colleagues) you can also download the source from source.multiminerapp.com and compile it yourself in the free Visual Studio 2013 Express for Desktop. You can use either the standard Windows installer (created with the wonderful Inno Setup) or just download and extract the zip file.
From there you can launch either the Desktop shortcut or executable file directly.
Initially MultiMiner was created to allow the user maximum control over each individual mining device. Focus on the new user began with version 1.1 which introduced — among other things — a Getting Started wizard:
The wizard walks the user through downloading dependencies such as bfgminer, choosing a virtual currency, setting up a mining pool, and enabling special features such as smart phone monitoring (utilizing the MobileMiner API) and exchange rate integration (utilizing the Coinbase API).
The wizard was designed to help the new miner get up-and-going but is totally optional. All of the options within the Getting Started wizard can be accessed using the toolbar and context menus within the main application.
MultiMiner uses the underlying mining engine (bfgminer) to detect available mining devices and then presents an interface for selecting individual coins to mine.
You can use the Scan Hardware context menu (when not mining) to detect any newly available mining hardware and the context menu for each individual mining device to select a configured coin.
MultiMiner has two primary modes of mining. You can right-click on each device and use its context menu to assign a coin (multi-select works as well). Or you can enable “Automatic mining” based on profitability data from either the CoinChoose API or the CoinWarz API.
The mining strategies also let you to automate setups where slower PCs will automatically mine the lowest difficulty coin any any given time, or mine based on straight price versus profitability.
MultiMiner is an Open Source C# project released under the permissive MIT license. The source code is broken into individual assemblies that are documented in the README.md on GitHub. There is also a sample project available on GitHub that illustrates how to use the assemblies and classes to mine Bitcoins.
There is definitely more in store for MultiMiner. The application already runs well on OS X and Linux using Mono, but I plan on creating native UIs for those platforms in Qt rather than using the current WinForms UI (which will remain for Windows).
There are also plans on splitting the core application into a CLI / service application and then a UI front-end.
Finally, I plan on making MultiMiner intranet-aware, allowing a single instance to detect and control other running instances on the local network (you can currently use MobileMiner to achieve a similar setup).
If you have any feedback or issues please use the forums at talk.multiminerapp.com as this will give others a chance to help as well.
As always: happy mining!