A lot of people have opinions about software. Some of them are good, some bad, but most are somewhere in between. We may not know what software is, but we often have a good idea of what its qualities are supposed to be. And in particular we may have an opinion about the qualities that make it good for mining.
There are different kinds of software, and even if all the features they have in common are useful for mining, there can still be a big difference between one kind and another. For example, open source software is generally more trustworthy than proprietary software, because it doesn’t come with any license conditions. But this is only part of the story: you can get a lot more functionality from proprietary software than from open source. The author of a piece of open-source software has in effect said “here is all I know about how to do what we’re doing.” If all his code works, there’s little point in asking him for anything else; if he has made mistakes or left things out, you will get much less for your money. And as a result his code may be less reliable or trustworthy than yours.
Mining is hard, and if you want to do it well you will spend much time worrying about how your code behaves
Mining is a form of computer application programming in which the main objective is to mine bitcoins from the Bitcoin network. The user creates scripts that run on their own computer, known as miners, and connects them to specialized hardware, called ASICs.
The algorithms used by Bitcoin miners are called SHA-256 and Scrypt.
This is a review of the mining software for various platforms, with screenshots of the tools. The reviews are based on experience used to replicate the results described. The goal of each review is to give potential users an idea of how mining software will perform on their platform.
Many thanks to @darktruck for providing much needed support on this project.
Mining is a risky business. But not just because of the risks. It’s a lot more complicated than that.
When you start mining, you have to decide what kind of miner you are going to be. If you want to play it safe, and if by “safe” we mean “not at all,” then you can buy a reliable piece of software that will do the job for you–and that’s more or less what I did. But if you want to be a tinkerer, or if you want to learn about things beyond the reach of my software, then you’ll have to figure out how to build your own gear from scratch. That involves many steps, some simple and some difficult. Among those steps is deciding exactly what kind of gear you are going to build, and then choosing what kind of chips and boards and other components to include in it.
It is possible to go about this in ways that avoid risk entirely: for example, by paying for pre-made gear from gear manufacturers like Bitmain or Bitfury. But there’s a problem with that:
One of the goals of mining is making money, so it makes sense for your gear to make money. But pre-made gear may be designed especially for making money
Mining is a new kind of business. The old ones have gone out of business. The new ones are just getting started. Mining is a niche market. A fringe market, in fact: there’s no money to be made in it unless you’re willing to risk everything on a hope.
Most of the people who want to start mining are not going to make much from it in the first few years, when it’s cheap and easy to start and hard to get any returns. You will probably lose some money, and so will your friends. This could go on for years. You could be making money at mining for ten years, but much of your income will be going in interest on the money you lost at the beginning; that is what makes mining such a risky thing to do.
The most important thing to know about mining is that the whole process is extremely complex, and it’s very hard to understand the details. It’s easy to get confused by all the jargon, or even by the simple fact that you can make a living from it. So here is a quick summary.
On the one hand, Bitcoin mining is fairly simple: you’ve got your computer, and you’re running some software on it. But on the other hand, it’s hard to know how to describe all the things you’ll want to do, or what they will cost. There are few standard terms and no standard set of prices. In short, there are a lot of things to learn.
Mining offers a good way to earn money in today’s world, because people are willing to pay you for solving mathematical problems they can’t solve themselves. That sounds straightforward enough, but there are two ways in which this just isn’t true at all. One is that the math is hard; the other is that the problems are complicated and unpredictable.
The difficulty comes from something called “mining difficulty,” which gradually increases with time so that asymptotically it approaches infinity (the precise rate depends on various parameters). But if you’re mining with Bitcoins, mining difficulty
Because if you want to make money on the Internet, there are a lot of ways to do it. You can get rich selling something you’ve created yourself. Or you can find companies that sell things you don’t make for themselves and buy them (or just steal them). Or you can write code that other people use to make money, and then try to convince them that you have some special magic that will allow them to make even more money (look at bitcoin).
But one of the best ways of making money on the Internet is to find something already being made for free, and start stealing from it.
People who say “find a niche market and exploit it” have never heard of software mines.
Bitcoin mining is a process which involves spending a lot of electricity to run computers, and getting paid for it every hour or so. The usual way of doing this requires you to spend money on expensive servers, so that your miners can do the same work. In theory, you could also mine Bitcoin with a normal home computer. But that would be very inefficient, because the power required per hash that your miner would produce would be tiny compared to the total amount of work that needed to be done. Instead, there are special software programs available which will automatically allocate the computing resources it needs from other machines in the network. These are called “mining pools.”