Feature request:Switch ALGO -on the fly or via remote API (preferably

)- with key combination ALT + # (number defined in file: algo.txt)
algo.txt:
1: normalv7
2: heavy
3: lite
4: ipbc
....
For this to work: pools.txt should have a structure like this:
{
"pools" :
[
"normalv7":
[
{"pool" : "xmr-eu1.nanopool.org:14444", "wallet" : "4A5hJyu2FvuM2azexYssHW2odrNCNWVqLLmzCowrA57xGJLNufXfzVgcMpAy3YWpzZSAPALhVH4Ed7xo6RZYyw2bUtbm12g.donation", "password" : "x"},
{"pool" : "xmr-eu2.nanopool.org:14444", "wallet" : "4A5hJyu2FvuM2azexYssHW2odrNCNWVqLLmzCowrA57xGJLNufXfzVgcMpAy3YWpzZSAPALhVH4Ed7xo6RZYyw2bUtbm12g.donation", "password" : "x"}
],
"heavy":
[
{"pool" : "loki.ingest.cryptoknight.cc:7733", "wallet" : "L5YYTvuGdMVDx52AWZK6kwJMvc9bN2Q7FGHkzW2Xd8iReXtRnBXRm9a8pTYB9TD9NDSjQnaRmnFQ1SDvetAjWLvfJVtSY1p.75000", "password" : "rig1"},
{"pool" : "haven.ingest.cryptoknight.cc:5533", "wallet" : "hvxyJGKFHq9XLia5Up4GTuW6cGZhVnUZhgLPqxxeRfXe8H5ZcLYKjYFME9mg679C1LZAQBkv4gdQtg2gyWZ2hYkM475sJKf6sp.75000", "password" : rig1"}
],
"lite":
[
{"pool" : "aeon.miner.rocks:5555", "wallet" : "eXaMpLeEyXACPVTCQZ2bGjg9k7Y9y8rLAGBRBaAJVDnLLbLGAeGLqvn2k82aXzXnEwXUXh72amhAKoRQ.50000", "password" : "w=rig1"},
]
]
}
Changing the pools tree structure is not necessary (and harder for everyone else)
{"pool" : "xxx:111", "algorithm" : "heavy" ...... }
should suffice. Algorithm would be an optional property, as the setting would be taken from config normally.
Since each algo would have different settings, instead of algo, you could also go for:
{"pool" : "xxx:111", "config" : "config-heavy.txt" ... }
This shoots two birds with one stone.
If this is implemented, the job json could also support: "_SRBMiner_Algorithm" : "heavy" to dynamically switch, so no API with write support is necessary because proxy's can append it in the JSON (The added _SRBMiner_ is to avoid any namespace collisions until a standard can be agreed upon by the miners and pools)
Giving API switching capability is good but it brings added burden to Doktor

Proxy's could handle the switch until a "write" API could be programmed by Doktor.
Edit:
Actually this naming convention could be used for algo negotiation:
https://github.com/xmrig/xmrig-proxy/blob/master/doc/STRATUM_EXT.mdEdit2: This is basically an extension to stratum protocol, employed by XMRig, but there's no reason why SRBminer cannot support this! Using watchdog, SRBMiner can easily restart to switch to new algos, this not only provides unattended algo switching for hardforked coins, but also shall provide coin switching using proxy's.
When an algo negotiation is initiated and a new algo is required, watchdog could restart the miner, so no API programming would be necessary. The only problem to solve is to decide a way to do per algo config, which shouldn't be hard, really.