Book Image

Bitcoin Essentials

By : Albert Szmigielski
Book Image

Bitcoin Essentials

By: Albert Szmigielski

Overview of this book

Blockchain is being billed as the technology of the future. Bitcoin is the first application of that technology. Mining is what makes it all possible. Exploring mining from a practical perspective will help you make informed decisions about your mining setup. Understanding what the future may hold for blockchains, and therefore for mining, will help you position yourself to take advantage of the impending changes. This practical guide starts with an introduction to Bitcoin wallets, as well as mining hardware and software. You will move on to learn about different mining techniques using the CPU, GPU, FPGA, and ultimately the ASIC as an example. After this, you will gain an insight into solo mining and pool mining, and see the differences between the two. The book will then walk you through large-scale mining and the challenges faced during such operations. Finally, you will take a look into the future to see a world where blockchain-based applications are commonplace and mining is ubiquitous.
Table of Contents (15 chapters)
Bitcoin Essentials
About the Author
About the Reviewer

Setting up mining software

In order to mine with an ASIC miner, we need to connect and configure it with a controlling computer. Most ASICs connect to a computer via a USB; therefore, with the use of USB hubs we can usually connect a large number of ASICs to a single computer. We will, of course, need the appropriate software and drivers to use our ASICs to mine.


We will present our tests here using a Butterfly Labs (BFL) ASIC; however, most popular ASICs connect and configure the same way.

Mining software

There are many mining programs out there. Our favorite is cgminer. The GitHub repository can be found at: The downloadable versions (for both Linux and Windows) can be found at the author's website:

We recommend using the latest version of cgminer to mine with ASICs; currently, (August 2015) the latest version is version 4.9.2.


Note that the version of cgminer that we used for GPU mining was an earlier version...