The per-PC idle/usage policy is the bit I'd care about most. A hard pause on input plus a temperature ceiling is more useful than another aggressive profit switcher; I'd also want the controller to show the exact executable and pool before allowing an automatic switch.
I agree with you, and those two things are now becoming fairly important parts of the design.
The per-PC policy system is intended to let every computer behave differently.
For example, one dedicated mining PC might be allowed to run continuously, while a normal desktop could be configured to:
- mine only after a certain idle period;
- pause as soon as keyboard or mouse activity returns;
- resume after it becomes idle again;
- obey a maximum temperature;
- limit CPU usage;
- use a reduced GPU workload instead of 100%;
- protect certain applications or workloads;
- only mine during selected hours.
I also agree about showing exactly what will be executed.
I am planning a recommendation/approval mode before unrestricted automatic switching.
Before a proposed switch, the controller should be able to show something along the lines of:
PC / worker
CPU or GPU
coin actually being mined
algorithm
exact miner executable
miner version/hash
pool and endpoint
payout wallet
thread count or GPU configuration
reason the controller selected it
The user can then approve or reject it.
Even if full automation is enabled later, I still want that information available in the GUI so the controller never becomes a black box where you only know that "something changed".
Another important part is post-switch verification. Starting the miner process will not count as a successful switch by itself.
The controller should verify progressively that:
the process started → miner API responds → pool connects → mining job is received → hashrate appears → shares are being submitted/accepted.
If that fails, it should be able to stop the failed configuration and roll back to the previous known-good mining setup.
I am increasingly thinking the resource/usage policies and transparency may be more useful in everyday use than extremely aggressive switching for a few percent extra theoretical profit.
The controller can still optimise profitability, but it should do it inside the limits set by the person using the PC rather than treating maximum hashrate as the only objective.
You have a good idea, but it comes too late. Nowadays, it isn't profitable to mine cryptocurrency on a standard PC with a single graphics card because the electricity costs are too high. The only exception would be children whose parents pay the electricity bill. A PC needs to be properly prepared for mining, otherwise, it could overheat and break down.
A profitable coin lasts a week or slightly longer, and there is no Windows miner for it. You will always be lagging behind.
You make a fair point about electricity costs and Windows often being behind Linux for very new mining releases.
I am not really designing this around the idea that someone should run a normal desktop GPU at 100% all day regardless of power cost or temperature. One of the features being built is a per-PC policy system so an everyday computer can, for example, mine only when idle, stop when the user returns, run at reduced GPU intensity and obey temperature limits.
The profitability side is also only one part of it.
There will be several different modes. One allows the user to select a pool and payout coin, while the controller decides which supported underlying coin each CPU/GPU should mine for the best practical return. Another allows the user to deliberately accumulate a particular coin even if it is not currently the most profitable.
The point about new coins only being profitable for a short time is actually one of the reasons I am adding a separate New Coin Radar.
The deeper scanner is useful for normal research, but the Radar is intended to look for coins that may only be a few hours old by checking several sources rather than waiting for them to appear on established profitability sites. A newly found coin still has to be checked for things such as mainnet status, algorithm, miner availability, pool availability and wallet requirements before it can be considered usable.
The lack of an early Windows miner is definitely a limitation. At the moment the system is Windows-first because that is where my existing machines are, but I am trying not to design the controller/worker protocol in a way that prevents Linux workers later.
The Radar can also keep a coin on a watchlist if, for example, there is already a Linux miner but no Windows miner. If Windows support appears later, the controller can pick that up instead of having forgotten the coin completely.
I agree that for someone paying high electricity rates, ordinary "mine whatever is currently most profitable on one GPU" mining can be difficult to justify. The project is becoming more about intelligent use of a group of machines: early discovery, speculative accumulation, completing pool payouts, different policies for different PCs, benchmarking the actual hardware and only running workloads when the user considers it worthwhile.
So I don't think Windows removes the problem you mention, but I am trying to design around that limitation rather than pretending it doesn't exist.
[mod note: merged consecutive posts]