It’s been a long time since I have updated you all on the project progress.
Last year I started working on version 2.0 which brought several improvements, most notably replacing MySQL with InfluxDB (kudos to wishbone for his suggestion). There were other planned improvements like supporting additional miners, pools, profitability dashboard, etc… Unfortunately I stopped it mid September due to personal reasons, but that hiatus gave some time to rethink the development approach and look for ways to address some major shortcomings of the bash scripted solution. These were some of the issues faced during the development:
1) Debugging shell scripts is just a nightmare. This really slows down the ability to add new features e.g. profitability script
2) Support for cross-platform. A lot of miners have no linux experience and use windows
3) Clumsy, poor support for concurrency. rig-monitor is a bunch of independent scripts, each one of those scripts needs to launch child processes that need to be controlled.
4) Complex to deploy and manage due to large number of scripts and need to configure crontab
5) Development effort
So around six weeks ago I decided to re-write rig-monitor in Go. Four weeks into the development I have almost completely re-factored all the code. The re-written app is based on the development branch using influxDb (available here), which was never released as v2.0.
In the next couple of days I will release the alpha version, which will include the following features:
- single file execution with support for logging, tracing
- custom config file replaced with toml-based config file
- ability to pool hundreds of rigs and dozens of pools simulatenously
- configurable polling times
- miner support
- claymore (tested v11.6)
- xmr-stak (tested v2.4.2)
- sgminer (tested v5.5.5)
- pool support
- nanopool (all coins)
- ethermine (all coins)
- mpos based pools e.g. miningpoolhub.com (all coins)
- nodejs-pool based pools e.g. hashvaultpro.com (all coins)
- power monitoring using smartplugs
- TP-Link HS110
- Market monitoring
- Data storage using influxDB
- Cross-platform support
- raspberry Pi 1 Model B/ARMv6
- raspberry Pi 2/ARMv7
- raspberry Pi 2 v1.2 /ARMv8
- raspberry Pi 3 Model B ARMv8
The following features are not part of the release and will be included in the beta release in 1-2 weeks’ time:
- Updated dashboards.
In the meantime take the influx branch mentioned above and fine tune them to your needs. Although the influxDB data model is very much the same with some minor changes importing the dashboards cannot be done without some manual work due to grafana metadata changes later versions of grafana.
- Profitability calculation and dashboard
If you need support for other miners, pools, smart-plugs or for bug reporting, new feature request etc… then submit a new issue on the github project here.