Skip to content

Full Cycle Mining

Dave Foderick edited this page Apr 25, 2018 · 1 revision

An Open Source Cryptocurrency Mining Controller

The recent surge in the price of Bitcoin has sparked a keen interest in bitcoin mining - the process of computing a hashing algorithm to gain a reward. Maintaining an efficient mine requires a process for monitoring many aspects of the mining operation. Mining rigs can fail or become overheated as they are pushed for maximum performance. Full Cycle Mining software actively manages the process of mining cryptocurrencies to protect the miner’s investment and achieve a quicker return on investment.

The vision for this project is to implement Full Cycle monitoring and active management of a bitcoin mining farm (A mining farm consists of multiple mining machines). Setting up and monitoring a new miner should be as easy as plugging it in - minimal manual configuration required. Once discovered, a new miner will be automatically configured according to a set of defined rules and immediately commence productive mining. Throughout its life the mining machine will be configured, monitored, repaired (hopefully!) and operate within a well-defined set of parameters. The overarching goal for Full Cycle Mining is to allow simple onboarding and painless management of the mining operation. It should scale from the smallest home miner with a few mining machines up to the largest mining data centers on the planet.

Workflow is a central theme in the Full Cycle Mining architecture. The application is always running in the background, gathering knowledge about the performance and operating environment of the miners. Configurable rules perform actions such as alerting, resets, rebooting and shutting down the miner. These rules can be fully customized in the field. The workflow steps can be replaced with different functionality or easily extended with additional steps.

To fulfill this vision, Full Cycle Mining has been built with an extensible plugin component messaging architecture. Because components are loosely coupled and execute in their own memory space, they can be developed in any language and can be deployed on a single machine or scaled out to multiple machines.

Many Components - One System

The life cycle of a Miner is briefly outlined below. Each one of these actions is a component in the system workflow.

Discover when a new miner is active on the network.

Provision (Configure) the new miner according to a desired configuration.

Monitor the hash rate and temperature of the miner.

Alert when the miner is not operating correctly. Notification methods could include Email, text message or telegram and would be extensible, allowing for additional alerting options.

Take action. Remedy the issue if possible. Examples of remedies might be to restart the miner or turn on a fan to cool down the rig room.

Log statistics and actions taken on miner (hashrate, temperature, actions taken, downtime, etc) Report on history of miner to make the decision when to take miners out of production. Identify problem machines and make end of life decisions based on the reliability and profitability of the miner.

Clone this wiki locally