I've done a similair project but I never got to releasing it!
In my project I built in:
- a screenshot application which would upload pictures to imgur on request.
--> so if the miner-software failed I could pull up a screenshot and see what's wrong!
- I had a command to start a miner remotly, and I stored the PID of the process on the server and client. It was fairly simple to retrieve the hashrate out of the command window, so each 60 seconds it would report in it's hashrate.
--> This allowed me to kill the miner process remotly. The client-sided software used the PID to check if the process was still running. I had fairly simple check statements:
If the process is not running: report to client.
If process is running and it has a hashrate above 0: you're doing fine
If the process is running and hashrate is 0: pull up screenshot + error report! (I also could've added an option to pull out the last 3 lines written in the command line of the miner and add it in the error report)
- In the main panel I could read all information about the computer , it stored each computer by HWID.
--> You have the option to label them with a name, and it stored all information from the CPU's information and the amount of memory on the system to the GPU's name and what drivers were installed.
- I stored information of the pools to mine in a database.
Each computer which wasn't assigned to a specific pool, was going to mine for the fallback pool.
If they were assigned a specific pool, and it appears to be down it would go back to the fallback pool.
I can provide screenshots on request if anyone would like to see what I made
!