feat(mining): auto-balance driver, per-pool algo, live miner version
- app: periodic weighted-random auto-balance of the pool while pool-mining (~30-min cadence; restarts the miner only when the pick actually changes), plus snapshot + refresh accessors for the UI. - app_network: resolve the xmrig algo per pool at start (pool.dragonx.cc = rx/dragonx, pool.dragonx.is = rx/hush; custom hosts keep the setting). - xmrig_manager: schema-aware pool-side hashrate readout (fixes a silent 0 for Miningcore pools); expose the running miner's version from its HTTP API and a cached `xmrig --version` detection so the UI can show it before mining. - wallet_state: carry the running miner's version. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -38,6 +38,7 @@
|
||||
#include "daemon/daemon_controller.h"
|
||||
#include "daemon/embedded_daemon.h"
|
||||
#include "daemon/xmrig_manager.h"
|
||||
#include "util/pool_registry.h"
|
||||
#include "ui/notifications.h"
|
||||
#include "default_banlist_embedded.h"
|
||||
#include "util/amount_format.h"
|
||||
@@ -1718,7 +1719,9 @@ void App::startPoolMining(int threads)
|
||||
daemon::XmrigManager::Config cfg;
|
||||
cfg.pool_url = settings_->getPoolUrl();
|
||||
cfg.worker_name = settings_->getPoolWorker();
|
||||
cfg.algo = settings_->getPoolAlgo();
|
||||
// The algo follows the pool: official pools use their own algo (pool.dragonx.cc
|
||||
// needs rx/dragonx, pool.dragonx.is rx/hush); custom hosts keep the setting.
|
||||
cfg.algo = util::resolvePoolAlgo(cfg.pool_url, settings_->getPoolAlgo());
|
||||
cfg.threads = threads; // Use the same thread selection as solo mining
|
||||
cfg.tls = settings_->getPoolTls();
|
||||
cfg.hugepages = settings_->getPoolHugepages();
|
||||
|
||||
Reference in New Issue
Block a user