I'd also like to pledge at least 1 BTC for a working "central console" for the miners to be controlled, understandably in the distant future with the complexity. While I know you have not asked for anything, it's always nice to keep the developer motivated, something you haven't lacked at all in this thread, and hopefully won't lose any of.
I appreciate that. It's definitely in my plans. To give you more of an idea of where I am planning to go with this, users have requested two things:
- The ability to run MultiMiner from the command line without a windowed UI
- The ability to control MultiMiner instances across their rigs from one location
The current MultiMiner source is already built in layers composed of DLLs and an EXE.
At the very bottom is MultiMiner.Xgminer.dll, which wraps access to bfgminer and cgminer. Along with that there is MultiMiner.Xgminer.Api.dll for communicating with the cgminer/bfgminer RPC API, as well as MultiMiner.Coinchoose.Api.dll and MultiMiner.MobileMiner.Api.dll for consuming both of those APIs.
Wrapping access to these pieces is MultiMiner.Engine.dll, which has all of the logic and settings for doing what MultiMiner does: keeping miners running, switching strategies, etc.
And then there's MultiMiner.Win.exe, which is a windowed UI that provides access to MultiMiner.Engine.dll and the rest of the functionality described above.
So my thoughts are to create a new application, for example MultiMiner.Cmd.exe, which would be a command line application that wrapped all the functionality in MultiMiner.Engine.dll, the way the windowed UI application does today. MultiMiner.Cmd.exe would also be written with a simple RCP API, allowing access to its commands. Finally, it would be written with something like Bonjour so that instances of MultiMiner.Cmd.exe can be found on the local network.
Finally, MultiMiner.Win.exe would be rewritten to communicate with the MultiMiner.Cmd.exe RCP API. MultiMiner.Win.exe would fire up a local instance of MultiMiner.Cmd.exe if none is found, plus it would detect the other instances of MultiMiner on the network, allowing you to communicate with all of your miners from a single UI.
This new version of MultiMiner.Win.exe would also include some new functionality aimed at making changes to all of the MultiMiner instances on the network.