Let talk about money! Calculating the income, return on investment
5. Building an Ethereum-mining rig
5.4. The mining software on a GPU mining rig
Your mining rig must have an operating system capable of running mining software. Two options are available: Windows and Linux. The choice of mining software depends on how you have decided to do the mining, whether to run the rig in a mining pool or solo. Here we discuss the options.
5.4.1. Operating systems
1. Windows
Well, most non-professional GPU mining rigs (rigs not operating a large- scale mining farm) run on the Windows 7 operating system. Why?
1. It is easy to set up the whole system: 1. to install OS; 2. to install the required system and GPU drivers; 3. to set up and run the mining software; 4. to monitor and tweak the system configuration, for instance, to change the fan speed. The Linux operating system requires a lot of computer knowledge. There are always problems related to incompatibility of hardware. These problems start with installing Linux itself, regardless of version, making a bootable USB, and, later on, installing the GPU drivers, as AMD drivers are not available for all Linux variants. Recently, AMD released a driver for the AMD RX series for Ubuntu 16.04, which is one of most famous revisions of Linux.
2. It is compatible with mining software. Some mining applications do not work efficiently enough with Windows 10, due to incompatibility.
167 | P a g e
3. It is relatively cheap. At the moment, it costs ~$100 but it can be found in some software discount online shops for much less. Even $100 is a reasonable price to pay for a $2000-mining rig.
However, purchasing a new Windows licence even for $20 would not be appropriate for a low-budget build. As I said regarding the budget-build GPU mining rigs, it is always better to buy an old working computer with storage and a genuine and activated Windows OS. You should be able to buy a whole computer, with an installed OS, for less than $100. This is still a viable option as most of the full-size ATX desktop computers (not micro-ATX size) have 4- PCIE slots available and by tweaking the PSU, you should be able to convert it to a decent mining rig (please read more on this in the Chapter on mining- rig build options based on budget).
2. Linux
According to linux.com, Linux has evolved into one of the most reliable computer ecosystems on the planet. Combine that reliability with zero cost of entry and you have the perfect solution for a desktop platform.Linux is also distributed under an open-source license. Linux has a number of different versions to suit nearly any type of user. From new users to hard-core users, you’ll find a “flavor” of Linux to match your needs. These versions are called “distributions” (or, in the short form, “distros”). Nearly every distribution of Linux can be downloaded for free, burned onto a disk (or USB thumb drive), and installed (on as many machines as you like). The most popular Linux distributions are: Ubuntu Linux, Linux Mint, Arch Linux, Deepin, Fedora, Debian, CentOs [23].
What is the best Linux flavor for a GPU mining rig? It really doesn’t matter what distribution you use, as most of them do not have much influence on the execution of the mining software. The most important matter is the AMD driver for your GPU. The best mining GPU of 2017, the Radeon RX 400 Series of AMD RX 470 4GB, requires an AMDGPU-PRO Driver for Linux to function
[24]. At the moment, AMD is compatible with RedHat Enterprise Linux® 7.3 (64-bit version), RedHat Enterprise Linux® 6.8 (64-bit version), Ubuntu 16.04 (64-bit version), CentOS 7.3 (64-bit version), CentOS 6.8 (64-bit version), SLED/SLES 12 SP2 (64-bit version) distributions, but this may change with time. Installing the AMD driver on one of the Linux distributions, which I have not mentioned here, is not difficult and can be done with some tweaks.
168 | P a g e
But one word of warning. In the past, I have built numerous desktop machines, but never could I could install a Linux OS with the GPU drivers on a desktop without a lot of difficulty, including searching on the internet for solutions. If you are not familiar with Linux systems, or are not a software expert and don’t know a lot about programming and scripting, do not enter the Linux world; just carry on using Windows. However, as access to the software is free and easy, you can always try it out, when you have time and a computer to experiments with it. Always remember: 1. first install Linux OS without any GPU cards installed. If you are using an intel-based CPU, just use your IGP (Integrated Graphics Processor) to complete the installation; 2. then add your GPUs using PCIE-riser cards, and 3. then install the GPU drivers. Here are some of the tips that may help you in setting up a Linux OS-based GPU mining rig.
1. Download your free distribution of Linux OS. I recommend you go for Ubuntu 16.04.1 LTS [24], here is the link!
2. Make a bootable USB stick with “Universal-USB-Installer” [25], link is
here! (there is a lot of guidance on the website that will help you make a bootable USB stick). I do not recommend other boot makers such as “Rufus” or “ISO to USB”. While they don’t work well with Linux OS ISO and images, most of the time you are confronted with errors during the installation such as “unable to find a medium containing a live file system”.
3. Boot your computer with the USB stick and install the Ubuntu. It’s pretty straightforward. If you need guidance, please refer to this link on the Ubuntu website.
4. When the installation is finished, you will need to update the Ubuntu software, through software updater, and then restart the Ubuntu. 5. Install your PCIE-riser cards and GPUs, and then turn the mining rig on. 6. Download and install the AMDGPU-PRO Driver for Ubuntu 16.04, Link is
here! There is a simple guideline on how to install the driver on the AMD website here and also on the Ubuntu website here!
7. Also you require to install OpenCL software, according to AMD “OpenCL™ Accelerated Parallel Processing (APP) technology is a set of advanced hardware and software technologies that enable AMD graphics processing cores (GPU), working in concert with the system’s x86 cores (CPU), to execute heterogeneously to accelerate many applications beyond just graphics.”, where can be found on AMD website here!
169 | P a g e
As I said earlier, you might be faced with a lot of trouble in installing and running the AMD driver with the Linux OS and you may need to do a lot of reading and troubleshooting.
5.4.2. Solo mining or pooled mining
According to bitcoin wiki [26], solo mining is when a miner performs the mining operations alone without joining a pool. All mined blocks are generated to the miner's credit.
The website gives the pros and cons of solo and pooled mining. These are as follows:
Pros of pooled mining:
1. It generates a steadier income, and it has a low variance as you get paid every day.
2. It usually generates a higher income.
3. It is easy to setup and leaves most of the headaches with the pool admin(s).
4. It has extra features—pools usually let you quickly check the status of your miners from anywhere, and notify you of payouts and other matters, all of which would take you a lot of extra time to set up on your own.
5. It requires much less space—if you are solo mining, you need to keep your own copy of the blockchain, while pools handle all that by themselves.
6. It’s very easy to switch between mining pools. Should one of them become irresponsive or not so profitable to operate, all you would need to do is just change the address of the mining pool and its related parameters on the mining software. Usually, this can be done in less than a minute.
Cons of pooled mining:
1. Pooled mining can suffer interruptions from outages at the pool provider. So, you would be relying on a third-party system to earn your money. Pool websites can go down, and when they do, your miners would be idling.
170 | P a g e
2. Pools are subject to DOS attacks and there can be other causes of downtimes. Backup pools and solo mining can be configured to deal with these situations.
3. Pooled mining generates a smaller income due to fees being charged and transaction fees not being cashed out. But since the middle of 2016, because of many new entrants to the Ethereum mining-pool network, the fees went down to around 1%–2%. 4. As stated in http://bitcoin.stackexchange.com, giving power to
the pool owner, some important decisions regarding the future of Bitcoin are made by people voting with their blocks. Some time ago, the Bitcoin community had to choose between two BIPs that fulfilled the same role. The voting was done by the coinbase transactions containing a vote for either one of the BIPs. By giving their computing powers to the pools, the miners essentially gave their votes to pool owners to vote as they choose.
Pros of solo mining:
1. Solo mining is less prone to outages resulting in higher uptime. 2. It doesn't incur any fees. For each discovered block, the
transaction fees are paid to the miner. Cons of solo mining:
1. Solo mining tends to generate more erratic income.
2. Solo mining wastes a lot of time and requires the user to do a lot of searching solely in order to solve the network puzzle.
3. Complicated setup and start up as you are your own pool admin, assuming you have the technical skills necessary.
A solo miner who prefers to have full control over their Ethereum (ETH) addresses by running a local node with a full copy of the Ethereum blockchain, could soon start having free space issues as the storage requirements continue to grow at a rapid rate. The Ethereum blockchain data are already getting close to 30 GB in size and as Ethereum (ETH) and Ethereum Classic (ETC) have now separated, you may need to make a copy of both blockchains, and you would require another 30 GB of data for the ETC local wallet and blockchain [27]. To start mining, you would need to download the blockchain for Ethereum. At this point, you should be
171 | P a g e
synchronizing with the rest of the Ethereum network. This can take a while depending on your internet speed and the current size of the blockchain—anywhere between 20 min and several hours [28].
What is Pooled Mining?
Pooled mining "pools" all the resources of the clients in that pool to generate the solution to a given block. When the pool solves a block, the reward generated by that block's solution is split and distributed between the pool’s participants. As Wikipedia adds “In the context of cryptocurrency mining, a mining pool is the pooling of resources by miners, who share their processing power over a network, to split the reward equally, according to the amount of work they contributed to solving a block. A "share" is awarded to members of the mining pool who present a valid proof of work (PoW) that their miner solved.” [29]
To mine through a mining pool, you need to connect to the mining server and send your POW (proof of work, read more on Chapter 1). You will be rewarded according to your contribution to the mining process. The most important matter here is that the mining pool should be big and strong enough to have a good chance of solving the puzzle and get rewarded. Otherwise, it won’t be able to pay for the shares which have been contributed by all the connected miners. There are several important factors to help you in choosing between mining pools. These are:
1. The average hashrate of the mining pool for the Ethereum network. The