From b277d74041df6f9c95a69eddf0c5c606dbb45509 Mon Sep 17 00:00:00 2001 From: Useless Guru <30080938+UselessGuru@users.noreply.github.com> Date: Tue, 19 Mar 2024 20:53:10 +0100 Subject: [PATCH] v6.2.0 Changes: - Core: Change miner naming to always include algorithm variant, this requires re-benchmarking all miners Naming convention: [Miner base name (e.g. 'BzMiner')]-[Miner version (e.g. 'v20.0.0)]-[Device(s) (e.g. '1xGTX1660SUPER6G')]-[Algorithm variant(s) joined by '&', (eg. 'Autolykos2(4GiB)&HeavyHashKaspa')] E.g.: BzMiner-v20.0.0-1xGTX1660SUPER6GB-Autolykos2(4GiB)&HeavyHashKaspa Enhancements: - Core: Added support for algoritm 'MeowPow' (MeowCoin) - Core: Speed up benchmark & power consumption measurement. End cycle as soon as one miner has collected enough samples. Fixes: - Core / Includes.psm1: Running miners not shut down when closing main window - Brain 'ProHashing': Invalid curreny 'Syncroot' Improvements: - Miners: Optimize core for faster processing Miner updates - SRBMinerMulti-v2.4.9 - TeamBlackMiner-v2.21 - TTMiner-v2024.1.6 --- Balances/HashCryptos.ps1 | 4 +- Balances/HiveON.ps1 | 4 +- Balances/MiningDutch.ps1 | 4 +- Balances/MiningPoolHub.ps1 | 4 +- Balances/NiceHash External.ps1 | 4 +- Balances/NiceHash Internal.ps1 | 4 +- Balances/ProHashing.ps1 | 4 +- Balances/ZergPool.ps1 | 4 +- Balances/Zpool.ps1 | 4 +- Brains/HashCryptos.ps1 | 6 +- Brains/MiningDutch.ps1 | 6 +- Brains/ProHashing.ps1 | 10 +- Brains/ZPool.ps1 | 6 +- Brains/ZergPool.ps1 | 4 +- Changelog.txt | 30 +- Data/CoinNames.json | 3 + Data/CurrencyAlgorithm.json | 4 +- Data/DagData.json | 432 +++++++++--------- Includes/APIServer.psm1 | 80 ++-- Includes/BalancesTracker.ps1 | 4 +- Includes/Core.ps1 | 58 +-- Includes/Downloader.ps1 | 4 +- Includes/Include.psm1 | 14 +- Includes/LegacyGUI.ps1 | 24 +- Includes/MinerAPIs/BzMiner.ps1 | 4 +- Includes/MinerAPIs/Ccminer.ps1 | 4 +- Includes/MinerAPIs/EthMiner.ps1 | 4 +- Includes/MinerAPIs/FireIce.ps1 | 4 +- Includes/MinerAPIs/Gminer.ps1 | 4 +- Includes/MinerAPIs/HellMiner.ps1 | 4 +- Includes/MinerAPIs/MiniZ.ps1 | 4 +- Includes/MinerAPIs/NBMiner.ps1 | 4 +- Includes/MinerAPIs/NanoMiner.ps1 | 4 +- Includes/MinerAPIs/OneZero.ps1 | 4 +- Includes/MinerAPIs/Rigel.ps1 | 4 +- Includes/MinerAPIs/SRBMiner.ps1 | 4 +- Includes/MinerAPIs/TeamBlackMiner.ps1 | 6 +- Includes/MinerAPIs/Trex.ps1 | 4 +- Includes/MinerAPIs/Xgminer.ps1 | 4 +- Includes/MinerAPIs/XmRig.ps1 | 4 +- Includes/MinerAPIs/lolMiner.ps1 | 4 +- Miners/BzMiner-v20.0.0.ps1 | 10 +- Miners/CcminerAlexis78-v1.5.2.ps1 | 8 +- Miners/CcminerDyn-v1.0.2.ps1 | 8 +- Miners/CcminerKlausT-v8.25.ps1 | 8 +- Miners/CcminerKlausT-v8.26x2.ps1 | 8 +- Miners/CcminerLyra2z330-v8.21r9.ps1 | 8 +- Miners/CcminerLyraYesscrypt-v8.21r18v5.ps1 | 8 +- Miners/CcminerMemeHash-v2.5.5.9.ps1 | 8 +- Miners/CcminerNeoscryptXaya-v0.2.ps1 | 8 +- Miners/CcminerVerusCpu-v3.8.3.ps1 | 9 +- Miners/CcminerVerusGpu-v3.8.3.ps1 | 8 +- Miners/ClaymoreDualME-v2.7.ps1 | 8 +- Miners/ClaymoreNeoscrypt-v1.2.ps1 | 8 +- Miners/CpuMiner-v1.4.ps1 | 7 +- Miners/CpuMinerAurum-v3.23.1.ps1 | 7 +- Miners/CryptoDredge-v0.16.0.ps1 | 8 +- Miners/CryptoDredge-v0.27.0.ps1 | 6 +- Miners/EthMiner-v0.19.0.18.ps1 | 6 +- Miners/EvrProgPow-v1p3p0.ps1 | 6 +- Miners/FrkHashMiner-v1.3.14.ps1 | 8 +- Miners/GMiner-v2.75.ps1 | 6 +- Miners/GMiner-v3.44.ps1 | 6 +- Miners/HellMiner-v0.59.1.ps1 | 7 +- Miners/JayddeeCpu-v23.15.ps1 | 7 +- Miners/KawpowMiner-v1.2.4cl.ps1 | 6 +- Miners/KawpowMiner-v1.2.4cuda.ps1 | 6 +- Miners/Kudaraidee-v1.2.0a.ps1 | 8 +- Miners/MiniZ-v2.3c.ps1 | 6 +- Miners/NBMiner-v42.3.ps1 | 20 +- Miners/NSFMiner-v1.3.14.ps1 | 6 +- Miners/NanoMiner-v3.8.12.ps1 | 6 +- Miners/Ninjarig-1.0.3.ps1 | 8 +- Miners/NosuchCpu-v3.8.8.1.ps1 | 8 +- Miners/OneZeroMiner-v1.3.0.ps1 | 8 +- Miners/PhoenixMiner-v6.2c.ps1 | 6 +- Miners/Radiator-v1.0.0.ps1 | 10 +- Miners/Raptor3umCpu-v2.0.ps1 | 7 +- Miners/Rigel-v1.15.0.ps1 | 6 +- Miners/RplantCpu-v5.0.34.ps1 | 7 +- Miners/RrkzCpu-v4.2.ps1 | 7 +- Miners/SRBMinerMulti-v0.9.4.ps1 | 6 +- ...ti-v2.4.8.ps1 => SRBMinerMulti-v2.4.9.ps1} | 13 +- Miners/SgMinerFancyIX-v0.9.4.ps1 | 21 +- Miners/Suprminer-v2.31v2.ps1 | 10 +- ...er-v2024.1.3.ps1 => TTMiner-v2024.1.6.ps1} | 11 +- Miners/TTMiner-v5.0.3.ps1 | 6 +- ...ner-v2.20.ps1 => TeamBlackMiner-v2.21.ps1} | 8 +- Miners/TeamRedMiner-v0.10.18.ps1 | 6 +- Miners/Trex-v0.26.8.ps1 | 6 +- Miners/Wildrig-v0.40.5.ps1 | 6 +- Miners/XmRig-v6.20.0.ps1 | 6 +- Miners/XmrStak-v2.10.8.ps1 | 8 +- Miners/ZealotEnemy-v2.6.2.ps1 | 6 +- Miners/ZealotEnemy-v2.6.3.ps1 | 6 +- Miners/lolMiner-v1.84.ps1 | 6 +- Pools/HashCryptos.ps1 | 4 +- Pools/HiveON.ps1 | 4 +- Pools/MiningDutch.ps1 | 4 +- Pools/MiningPoolHub.ps1 | 4 +- Pools/NiceHash.ps1 | 4 +- Pools/ProHashing.ps1 | 4 +- Pools/ZPool.ps1 | 4 +- Pools/ZergPool.ps1 | 4 +- README.md | 2 +- UG-Miner.ps1 | 17 +- Version.txt | 2 +- Web/APIdocs.html | 6 +- Web/index.html | 8 +- Web/minersall.html | 18 +- Web/minersoptimal.html | 8 +- Web/minersunavailable.html | 10 +- Web/poolsall.html | 2 +- Web/poolsbest.html | 2 +- Web/poolsunavailable.html | 2 +- Web/scripts/demo.ps1 | 4 +- Web/stats.html | 14 +- 117 files changed, 704 insertions(+), 645 deletions(-) rename Miners/{SRBMinerMulti-v2.4.8.ps1 => SRBMinerMulti-v2.4.9.ps1} (98%) rename Miners/{TTMiner-v2024.1.3.ps1 => TTMiner-v2024.1.6.ps1} (96%) rename Miners/{TeamBlackMiner-v2.20.ps1 => TeamBlackMiner-v2.21.ps1} (98%) diff --git a/Balances/HashCryptos.ps1 b/Balances/HashCryptos.ps1 index e73ac7dd..3d7dc7f8 100644 --- a/Balances/HashCryptos.ps1 +++ b/Balances/HashCryptos.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\HashCryptos.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/HiveON.ps1 b/Balances/HiveON.ps1 index 98442166..5c1f888d 100644 --- a/Balances/HiveON.ps1 +++ b/Balances/HiveON.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\Hiveon.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/MiningDutch.ps1 b/Balances/MiningDutch.ps1 index ffac6263..d026bce2 100644 --- a/Balances/MiningDutch.ps1 +++ b/Balances/MiningDutch.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\MiningDutch.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/MiningPoolHub.ps1 b/Balances/MiningPoolHub.ps1 index 798adb61..f170cb2b 100644 --- a/Balances/MiningPoolHub.ps1 +++ b/Balances/MiningPoolHub.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\MiningPoolHub.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/NiceHash External.ps1 b/Balances/NiceHash External.ps1 index 02bc479e..8cd6af23 100644 --- a/Balances/NiceHash External.ps1 +++ b/Balances/NiceHash External.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\NiceHash Internal.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/NiceHash Internal.ps1 b/Balances/NiceHash Internal.ps1 index 89774688..55aa6138 100644 --- a/Balances/NiceHash Internal.ps1 +++ b/Balances/NiceHash Internal.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\NiceHash Internal.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/ProHashing.ps1 b/Balances/ProHashing.ps1 index 4aed22cd..dc67ebc8 100644 --- a/Balances/ProHashing.ps1 +++ b/Balances/ProHashing.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\ProHashing.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/ZergPool.ps1 b/Balances/ZergPool.ps1 index d5ca7e31..8869331f 100644 --- a/Balances/ZergPool.ps1 +++ b/Balances/ZergPool.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\ZergPool.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/Zpool.ps1 b/Balances/Zpool.ps1 index c6db0be4..e6baad3a 100644 --- a/Balances/Zpool.ps1 +++ b/Balances/Zpool.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\Zpool.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Brains/HashCryptos.ps1 b/Brains/HashCryptos.ps1 index 704257f0..11b9f3de 100644 --- a/Brains/HashCryptos.ps1 +++ b/Brains/HashCryptos.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Brains\MiningDutch.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> using module ..\Includes\Include.psm1 @@ -91,7 +91,7 @@ While ($PoolConfig = $Config.PoolsConfig.$BrainName) { Last24hDrift = $AlgoData.$Algo.estimate_current - $BasePrice Last24hDriftPercent = If ($BasePrice -gt 0) { ($AlgoData.$Algo.estimate_current - $BasePrice) / $BasePrice } Else { 0 } Last24hDriftSign = If ($AlgoData.$Algo.estimate_current -ge $BasePrice) { "Up" } Else { "Down" } - Name = $Algorithm_Norm + Name = $Algo } } Remove-Variable Algo, Algorithm_Norm, BasePrice, StatName -ErrorAction Ignore diff --git a/Brains/MiningDutch.ps1 b/Brains/MiningDutch.ps1 index f9daeb01..6313f470 100644 --- a/Brains/MiningDutch.ps1 +++ b/Brains/MiningDutch.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Brains\MiningDutch.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> using module ..\Includes\Include.psm1 @@ -92,7 +92,7 @@ While ($PoolConfig = $Config.PoolsConfig.$BrainName) { Last24hDrift = $AlgoData.$Algo.estimate_current - $BasePrice Last24hDriftPercent = If ($BasePrice -gt 0) { ($AlgoData.$Algo.estimate_current - $BasePrice) / $BasePrice } Else { 0 } Last24hDriftSign = If ($AlgoData.$Algo.estimate_current -ge $BasePrice) { "Up" } Else { "Down" } - Name = $Algorithm_Norm + Name = $Algo } } Remove-Variable Algo, Algorithm_Norm, BasePrice, StatName -ErrorAction Ignore diff --git a/Brains/ProHashing.ps1 b/Brains/ProHashing.ps1 index 53e0d825..baca0737 100644 --- a/Brains/ProHashing.ps1 +++ b/Brains/ProHashing.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Brains\ProHashing.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> using module ..\Includes\Include.psm1 @@ -72,12 +72,12 @@ While ($PoolConfig = $Config.PoolsConfig.$BrainName) { $AlgoData = ($AlgoData | ConvertTo-Json) -replace ': "(\d+\.?\d*)"', ': $1' -replace '": null', '": 0' | ConvertFrom-Json $CurrenciesData = ($CurrenciesData | ConvertTo-Json) -replace ': "(\d+\.?\d*)"', ': $1' -replace '": null', '": 0' | ConvertFrom-Json # Only recods with 24h_btc are relevant - $CurrenciesData = $CurrenciesData.PSObject.Properties.Name.Where({ $CurrenciesData.$_."24h_btc" }).ForEach({ $CurrenciesData.$_ }) + $CurrenciesData = $CurrenciesData.PSObject.Properties.Name.Where({ $CurrenciesData.$_.enabled }).ForEach({ $CurrenciesData.$_ }) ForEach ($Algo in $AlgoData.PSObject.Properties.Name) { $Algorithm_Norm = Get-Algorithm $Algo $BasePrice = If ($AlgoData.$Algo.actual_last24h) { $AlgoData.$Algo.actual_last24h } Else { $AlgoData.$Algo.estimate_last24h } - $Currencies = @($CurrenciesData.PSObject.Properties.Name.Where({ $CurrenciesData.$_.algo -eq $Algo })) + $Currencies = @($CurrenciesData.Where({ $_.algo -eq $Algo }).abbreviation) $Currency = If ($Currencies.Count -eq 1) { $($Currencies[0] -replace '-.+' -replace ' \s+' -replace ' $') } Else { "" } $AlgoData.$Algo | Add-Member Currency $Currency -Force $AlgoData.$Algo | Add-Member Updated $Timestamp -Force @@ -100,7 +100,7 @@ While ($PoolConfig = $Config.PoolsConfig.$BrainName) { Last24hDrift = $AlgoData.$Algo.estimate_current - $BasePrice Last24hDriftPercent = If ($BasePrice -gt 0) { ($AlgoData.$Algo.estimate_current - $BasePrice) / $BasePrice } Else { 0 } Last24hDriftSign = If ($AlgoData.$Algo.estimate_current -ge $BasePrice) { "Up" } Else { "Down" } - Name = $Algorithm_Norm + Name = $Algo } } Remove-Variable Algo, Algorithm_Norm, BasePrice, Currency, Currencies, CurrenciesData, StatName -ErrorAction Ignore diff --git a/Brains/ZPool.ps1 b/Brains/ZPool.ps1 index 7d5ca1ea..d852830e 100644 --- a/Brains/ZPool.ps1 +++ b/Brains/ZPool.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Brains\ZPool.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> using module ..\Includes\Include.psm1 @@ -157,7 +157,7 @@ While ($PoolConfig = $Config.PoolsConfig.$BrainName) { Last24hDrift = $AlgoData.$Algo.estimate_current - $BasePrice Last24hDriftPercent = If ($BasePrice -gt 0) { ($AlgoData.$Algo.estimate_current - $BasePrice) / $BasePrice } Else { 0 } Last24hDriftSign = If ($AlgoData.$Algo.estimate_current -ge $BasePrice) { "Up" } Else { "Down" } - Name = $Algorithm_Norm + Name = $Algo } } Remove-Variable Algo, Algorithm_Norm, BasePrice, BestCurrency, CurrenciesArray, CurrenciesData, Currency, DAGdata -ErrorAction Ignore diff --git a/Brains/ZergPool.ps1 b/Brains/ZergPool.ps1 index af4e2291..6dfe3a85 100644 --- a/Brains/ZergPool.ps1 +++ b/Brains/ZergPool.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Brains\ZergPool.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> using module ..\Includes\Include.psm1 diff --git a/Changelog.txt b/Changelog.txt index 41cf0e17..e52f7bbc 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -2,6 +2,32 @@ Known issues: - Balance Tracker / Earnings Graph: Date change does not respect local time zone (accumulated data is calculated in UTC time) +ChangeLog UG-Miner 6.2.0 2024/03/19 +==================================== + +Changes: +- Core: Change miner naming to always include algorithm variant, this requires re-benchmarking all miners + Naming convention: + [Miner base name (e.g. 'BzMiner')]-[Miner version (e.g. 'v20.0.0)]-[Device(s) (e.g. '1xGTX1660SUPER6G')]-[Algorithm variant(s) joined by '&', (eg. 'Autolykos2(4GiB)&HeavyHashKaspa')] + E.g.: BzMiner-v20.0.0-1xGTX1660SUPER6GB-Autolykos2(4GiB)&HeavyHashKaspa + +Enhancements: +- Core: Added support for algoritm 'MeowPow' (MeowCoin) +- Core: Speed up benchmark & power consumption measurement. End cycle as soon as one miner has collected enough samples. + +Fixes: +- Core / Includes.psm1: Running miners not shut down when closing main window +- Brain 'ProHashing': Invalid curreny 'Syncroot' + +Improvements: +- Miners: Optimize core for faster processing + +Miner updates +- SRBMinerMulti-v2.4.9 +- TeamBlackMiner-v2.21 +- TTMiner-v2024.1.6 + + ChangeLog UG-Miner 6.1.15 2024/03/16 ==================================== @@ -14,7 +40,7 @@ Improvements: - Minor code optimizations (Core & Miners) Miner updates: -- CpuMinerAurum-v3.23.1 +- CpuMinerAurum-v3.23.1 (new) - GMiner-v3.44 - MiniZ-v2.3c - Rigel-v1.15.0 @@ -120,7 +146,7 @@ Enhancements: - Legacy GUI: Show message box before closing legacy GUI Fixes: -- Legacy GUI: 'System status /Active miners' & 'Miners' tables: Context menu options broken (Regression from 6.0.1) +- Legacy GUI: 'Active miners' & 'Miners' tables: Context menu options broken (Regression from 6.0.1) - Legacy GUI: Update status when loading legacy GUI - TeamBlackMiner-v2-17: Error invalid parameter 'System.Collections.Hashtable [1]' (Regression from 6.1.6) diff --git a/Data/CoinNames.json b/Data/CoinNames.json index bace6fca..6d72978e 100644 --- a/Data/CoinNames.json +++ b/Data/CoinNames.json @@ -151,6 +151,7 @@ "HRLD": "Harold", "HTA": "Historia", "HTH": "Homeless", + "HTN": "Hoosat", "HUSH": "Hush", "HVQ": "HiveCoin", "HWI": "Hawaii", @@ -199,6 +200,7 @@ "NIKI": "Nikitonium", "NIR": "Nirmata", "NMC": "Name", + "NN": "Novanickel", "NOBL": "NobleCoin", "NOVO": "Novo", "NVC": "NovaCoin", @@ -293,6 +295,7 @@ "VEGI": "Veggie", "VGC": "5GCash", "VHH": "Volkshash", + "VIRS": "Virsai", "VISH": "Vishai", "VIVO": "Vivo", "VKAX": "Vkax", diff --git a/Data/CurrencyAlgorithm.json b/Data/CurrencyAlgorithm.json index 1579e867..45577259 100644 --- a/Data/CurrencyAlgorithm.json +++ b/Data/CurrencyAlgorithm.json @@ -208,7 +208,7 @@ "MEC": "MegaMec", "MECU": "Ghostrider", "MEK": "X17", - "MEWC": "KawPow", + "MEWC": "MeowPow", "MGE": "X11", "MGPC": "YespowerMgpc", "MN": "SHA256csm", @@ -222,6 +222,7 @@ "NILU": "Ethash", "NIR": "ProgPowZ", "NMC": "SHA256", + "NN": "Scrypt", "NOBL": "m7m", "NOVO": "SHA256dt", "NUKO": "Ethash", @@ -336,6 +337,7 @@ "VEGI": "HMQ1725", "VGC": "X16rv2", "VHH": "Yespower", + "VIRS": "X11", "VISH": "Yespower", "VIVO": "Neoscrypt", "VKAX": "Mike", diff --git a/Data/DagData.json b/Data/DagData.json index ea5c5cef..5f376ce5 100644 --- a/Data/DagData.json +++ b/Data/DagData.json @@ -1,245 +1,251 @@ { "Algorithm": { "Autolykos2": { - "BlockHeight": 1221955, + "BlockHeight": 1224411, "CoinName": "ERG", "DAGsize": 3736027155, - "Epoch": 788 + "Epoch": 790 }, "EtcHash": { - "BlockHeight": 19509821, + "BlockHeight": 19532329, "CoinName": "ETC", "DAGsize": 3816815488, "Epoch": 327 }, "Ethash": { - "BlockHeight": 19083029, + "BlockHeight": 19105646, "CoinName": "ETHW", "DAGsize": 6425673344, "Epoch": 638 }, "EthashB3": { - "BlockHeight": 2373275, + "BlockHeight": 2407992, "CoinName": "HYP", - "DAGsize": 1753218944, - "Epoch": 81 + "DAGsize": 1761606272, + "Epoch": 82 }, "EvrProgPow": { - "BlockHeight": 718689, + "BlockHeight": 723682, "CoinName": "EVR", - "DAGsize": 3732925568, - "Epoch": 61 + "DAGsize": 3741318016, + "Epoch": 62 }, "FiroPow": { - "BlockHeight": 852873, + "BlockHeight": 854897, "CoinName": "FIRO", - "DAGsize": 6593443456, - "Epoch": 658 + "DAGsize": 6601834112, + "Epoch": 659 }, "FiroPowSCC": { - "BlockHeight": 852873, + "BlockHeight": 854897, "CoinName": "FIRO", - "DAGsize": 6593443456, - "Epoch": 658 + "DAGsize": 6601834112, + "Epoch": 659 }, "KawPow": { - "BlockHeight": 3237064, + "BlockHeight": 3242062, "CoinName": "RVN", - "DAGsize": 4706007424, - "Epoch": 433 + "DAGsize": 4714397056, + "Epoch": 434 + }, + "MeowPow": { + "BlockHeight": 0, + "CoinName": null, + "DAGsize": 0, + "Epoch": 0 }, "Octopus": { - "BlockHeight": 91759993, + "BlockHeight": 91990735, "CoinName": "CFX", "DAGsize": 7264531712, "Epoch": 177 }, "ProgPowSero": { - "BlockHeight": 12222565, + "BlockHeight": 12245499, "CoinName": "SERO", - "DAGsize": 4504682368, - "Epoch": 409 + "DAGsize": 4513068416, + "Epoch": 410 }, "ProgPowZ": { - "BlockHeight": 2547617, + "BlockHeight": 2552658, "CoinName": "ZANO", - "DAGsize": 1795157888, - "Epoch": 86 + "DAGsize": 1803550592, + "Epoch": 87 }, "UbqHash": { - "BlockHeight": 5038503, + "BlockHeight": 5052050, "CoinName": "UBQ", - "DAGsize": 2491414144, - "Epoch": 169 + "DAGsize": 2499803776, + "Epoch": 170 } }, "Currency": { "*": { - "BlockHeight": 91759993, + "BlockHeight": 91990735, "CoinName": "*", "DAGsize": 7264531712, - "Epoch": 788 + "Epoch": 790 }, "AIPG": { "Algorithm": "KawPow", - "BlockHeight": 140438, + "BlockHeight": 145424, "CoinName": "Aipowergrid", - "DAGsize": 1241513344, - "Date": "2024-03-16T07:53:52.6916783Z", - "Epoch": 20, - "Url": "https://whattomine.com/coins.json" + "DAGsize": 1249902464, + "Date": "2024-03-19T19:40:28.2493978Z", + "Epoch": 21, + "Url": "https://zergpool.com/api/currencies" }, "AITT": { "Algorithm": "KawPow", - "BlockHeight": 78423, + "BlockHeight": 98349, "CoinName": "AittCoin", - "DAGsize": 1174404736, - "Date": "2024-03-16T07:53:53.2393257Z", - "Epoch": 12, + "DAGsize": 1199568512, + "Date": "2024-03-19T19:40:28.2523038Z", + "Epoch": 15, "Url": "https://zergpool.com/api/currencies" }, "AKA": { "Algorithm": "Ethash", - "BlockHeight": 11453273, + "BlockHeight": 11474571, "CoinName": "AKA", - "DAGsize": 4286578048, - "Date": "2024-03-16T07:53:53.037187Z", - "Epoch": 383, + "DAGsize": 4294962304, + "Date": "2024-03-19T19:13:19.4450045Z", + "Epoch": 384, "Url": "https://minerstat.com/dag-size-calculator" }, "ALT": { "Algorithm": "Ethash", - "BlockHeight": 3076708, + "BlockHeight": 3098891, "CoinName": "Altcoinchain", - "DAGsize": 1946156672, - "Date": "2024-03-16T07:53:53.2429912Z", - "Epoch": 104, + "DAGsize": 1954543232, + "Date": "2024-03-19T19:40:28.2551904Z", + "Epoch": 105, "Url": "https://zergpool.com/api/currencies" }, "AVS": { "Algorithm": "Ethash", - "BlockHeight": 3120726, + "BlockHeight": 3144171, "CoinName": "Aves", "DAGsize": 1962932096, - "Date": "2024-03-16T07:53:53.2818034Z", + "Date": "2024-03-19T19:40:28.2631744Z", "Epoch": 106, "Url": "https://zergpool.com/api/currencies" }, "BLACK": {}, "BTN": { "Algorithm": "Ethash", - "BlockHeight": 1658527, + "BlockHeight": 1681785, "CoinName": "Bitnetmoney", - "DAGsize": 1551892096, - "Date": "2024-03-16T07:53:52.7664594Z", - "Epoch": 57, - "Url": "https://whattomine.com/coins.json" + "DAGsize": 1560278656, + "Date": "2024-03-19T19:40:28.2930396Z", + "Epoch": 58, + "Url": "https://zergpool.com/api/currencies" }, "CAU": { "Algorithm": "Ethash", - "BlockHeight": 3207497, + "BlockHeight": 3242777, "CoinName": "Canxium", - "DAGsize": 1979707264, - "Date": "2024-03-16T07:53:52.7749816Z", - "Epoch": 108, - "Url": "https://whattomine.com/coins.json" + "DAGsize": 1996487552, + "Date": "2024-03-19T19:40:28.3162433Z", + "Epoch": 110, + "Url": "https://zergpool.com/api/currencies" }, "CFX": { "Algorithm": "Octopus", - "BlockHeight": 91759993, + "BlockHeight": 91990735, "CoinName": "Conflux", "DAGsize": 7264531712, - "Date": "2024-03-16T07:53:54.4236696Z", + "Date": "2024-03-19T19:13:18.9105781Z", "Epoch": 177, - "Url": "https://prohashing.com/api/v1/currencies" + "Url": "https://whattomine.com/coins.json" }, "CLO": { "Algorithm": "Ethash", - "BlockHeight": 14376517, + "BlockHeight": 14400005, "CoinName": "Callisto", - "DAGsize": 5108662144, - "Date": "2024-03-16T07:53:53.4171167Z", - "Epoch": 481, + "DAGsize": 5117048192, + "Date": "2024-03-19T19:40:28.3224375Z", + "Epoch": 482, "Url": "https://zergpool.com/api/currencies" }, "CLORE": { "Algorithm": "KawPow", - "BlockHeight": 662071, + "BlockHeight": 667055, "CoinName": "Clore", "DAGsize": 1828711552, - "Date": "2024-03-16T07:53:52.6477029Z", + "Date": "2024-03-19T19:40:28.3286503Z", "Epoch": 90, - "Url": "https://whattomine.com/coins.json" + "Url": "https://zergpool.com/api/currencies" }, "DINT": { "Algorithm": "KawPow", - "BlockHeight": 153730, + "BlockHeight": 158516, "CoinName": "Dinartether", - "DAGsize": 1258290304, - "Date": "2024-03-16T07:53:53.470231Z", - "Epoch": 22, + "DAGsize": 1266673792, + "Date": "2024-03-19T19:40:28.3411813Z", + "Epoch": 23, "Url": "https://zergpool.com/api/currencies" }, "DOGETHER": { "Algorithm": "Ethash", - "BlockHeight": 455547, + "BlockHeight": 472236, "CoinName": "Dogether", "DAGsize": 1216345216, - "Date": "2024-03-16T07:53:53.4867404Z", + "Date": "2024-03-19T19:40:28.3446639Z", "Epoch": 17, "Url": "https://zergpool.com/api/currencies" }, "EGAZ": { "Algorithm": "EtcHash", - "BlockHeight": 4679932, + "BlockHeight": 4703276, "CoinName": "Etica", - "DAGsize": 2390748544, - "Date": "2024-03-16T07:53:52.8208616Z", - "Epoch": 157, + "DAGsize": 2399139968, + "Date": "2024-03-19T19:13:19.0601936Z", + "Epoch": 158, "Url": "https://whattomine.com/coins.json" }, "EGEM": { "Algorithm": "Ethash", - "BlockHeight": 15160513, + "BlockHeight": 15183208, "CoinName": "Ethergem", - "DAGsize": 5326764416, - "Date": "2024-03-16T07:53:52.8615411Z", - "Epoch": 507, + "DAGsize": 5335151488, + "Date": "2024-03-19T19:13:19.1055381Z", + "Epoch": 508, "Url": "https://whattomine.com/coins.json" }, "ELH": { "Algorithm": "Ethash", - "BlockHeight": 2101343, + "BlockHeight": 2123973, "CoinName": "Elhereum", "DAGsize": 1677721216, - "Date": "2024-03-16T07:53:53.507693Z", + "Date": "2024-03-19T19:40:28.351787Z", "Epoch": 72, "Url": "https://zergpool.com/api/currencies" }, "ERG": { "Algorithm": "Autolykos2", - "BlockHeight": 1221955, + "BlockHeight": 1224411, "CoinName": "Ergo", "DAGsize": 3736027155, - "Date": "2024-03-16T07:53:54.4173133Z", - "Epoch": 788, - "Url": "https://prohashing.com/api/v1/currencies" + "Date": "2024-03-19T19:13:19.4547527Z", + "Epoch": 790, + "Url": "https://minerstat.com/dag-size-calculator" }, "ESN": { "Algorithm": "Ethash", "BlockHeight": 6408009, "CoinName": "Ethersocial", "DAGsize": 2877286784, - "Date": "2024-03-16T07:53:53.0484779Z", + "Date": "2024-03-19T19:27:59.7064265Z", "Epoch": 215, "Url": "https://minerstat.com/dag-size-calculator" }, "ETC": { "Algorithm": "EtcHash", - "BlockHeight": 19509821, + "BlockHeight": 19532329, "CoinName": "EthereumClassic", "DAGsize": 3816815488, - "Date": "2024-03-16T07:53:52.7957185Z", + "Date": "2024-03-19T19:27:59.3729303Z", "Epoch": 327, "Url": "https://whattomine.com/coins.json" }, @@ -254,21 +260,21 @@ }, "ETHO": { "Algorithm": "Ethash", - "BlockHeight": 13675351, + "BlockHeight": 13698489, "CoinName": "EthoProtocol", - "DAGsize": 4907333248, - "Date": "2024-03-16T07:53:52.8409895Z", - "Epoch": 457, + "DAGsize": 4915722368, + "Date": "2024-03-19T19:13:19.079654Z", + "Epoch": 458, "Url": "https://whattomine.com/coins.json" }, "ETHW": { "Algorithm": "Ethash", - "BlockHeight": 19083029, + "BlockHeight": 19105646, "CoinName": "EthereumPow", "DAGsize": 6425673344, - "Date": "2024-03-16T07:53:52.7638666Z", + "Date": "2024-03-19T19:41:56.7862908Z", "Epoch": 638, - "Url": "https://whattomine.com/coins.json" + "Url": "https://zergpool.com/api/currencies" }, "ETNT": { "Algorithm": "Ethash", @@ -284,17 +290,17 @@ "BlockHeight": 8700191, "CoinName": "Metaverse", "DAGsize": 3523213952, - "Date": "2024-03-16T07:53:53.0451691Z", + "Date": "2024-03-19T19:13:19.4602085Z", "Epoch": 292, "Url": "https://minerstat.com/dag-size-calculator" }, "EVR": { "Algorithm": "EvrProgPow", - "BlockHeight": 718689, + "BlockHeight": 723682, "CoinName": "Evrmore", - "DAGsize": 3732925568, - "Date": "2024-03-16T07:53:53.5609869Z", - "Epoch": 61, + "DAGsize": 3741318016, + "Date": "2024-03-19T19:41:56.7913304Z", + "Epoch": 62, "Url": "https://zergpool.com/api/currencies" }, "EXP": { @@ -308,39 +314,39 @@ }, "FIRO": { "Algorithm": "FiroPow", - "BlockHeight": 852873, + "BlockHeight": 854897, "CoinName": "Firo", - "DAGsize": 6593443456, - "Date": "2024-03-16T07:53:52.7178769Z", - "Epoch": 658, - "Url": "https://whattomine.com/coins.json" + "DAGsize": 6601834112, + "Date": "2024-03-19T19:41:56.8105337Z", + "Epoch": 659, + "Url": "https://zergpool.com/api/currencies" }, "FLORA": { "Algorithm": "Ethash", "BlockHeight": 789635, "CoinName": "", "DAGsize": 1308619904, - "Date": "2024-03-16T07:53:53.1329658Z", + "Date": "2024-03-19T19:10:08.7293755Z", "Epoch": 28, "Url": "https://minerstat.com/dag-size-calculator" }, "FREN": { "Algorithm": "KawPow", - "BlockHeight": 895266, + "BlockHeight": 905208, "CoinName": "FrenCoin", - "DAGsize": 2088762752, - "Date": "2024-03-16T07:53:53.6339381Z", - "Epoch": 121, + "DAGsize": 2097149056, + "Date": "2024-03-19T19:41:56.818007Z", + "Epoch": 122, "Url": "https://zergpool.com/api/currencies" }, "GPN": { "Algorithm": "KawPow", - "BlockHeight": 459853, + "BlockHeight": 464832, "CoinName": "Gamepass", "DAGsize": 1602219392, - "Date": "2024-03-16T07:53:52.7249837Z", + "Date": "2024-03-19T19:41:56.835206Z", "Epoch": 63, - "Url": "https://whattomine.com/coins.json" + "Url": "https://zergpool.com/api/currencies" }, "HVQ": { "Algorithm": "KawPow", @@ -353,73 +359,73 @@ }, "HYP": { "Algorithm": "EthashB3", - "BlockHeight": 2373275, + "BlockHeight": 2407992, "CoinName": "Hypra", - "DAGsize": 1753218944, - "Date": "2024-03-16T07:53:53.7108935Z", - "Epoch": 81, + "DAGsize": 1761606272, + "Date": "2024-03-19T19:41:56.8534251Z", + "Epoch": 82, "Url": "https://zergpool.com/api/currencies" }, "KIIRO": { "Algorithm": "FiroPow", - "BlockHeight": 138431, + "BlockHeight": 140423, "CoinName": "KiiroCoin", - "DAGsize": 1979707264, - "Date": "2024-03-16T07:53:52.7032871Z", - "Epoch": 108, - "Url": "https://whattomine.com/coins.json" + "DAGsize": 1996487552, + "Date": "2024-03-19T19:41:56.8619148Z", + "Epoch": 110, + "Url": "https://zergpool.com/api/currencies" }, "LRS": { "Algorithm": "Ethash", - "BlockHeight": 428427, + "BlockHeight": 451686, "CoinName": "Larissa", - "DAGsize": 1207958912, - "Date": "2024-03-16T07:53:53.7794687Z", - "Epoch": 16, + "DAGsize": 1216345216, + "Date": "2024-03-19T19:41:56.8722939Z", + "Epoch": 17, "Url": "https://zergpool.com/api/currencies" }, "MEWC": { "Algorithm": "KawPow", - "BlockHeight": 797523, + "BlockHeight": 802421, "CoinName": "MeowCoin", "DAGsize": 1979707264, - "Date": "2024-03-16T07:53:53.792758Z", + "Date": "2024-03-19T19:41:56.8832208Z", "Epoch": 108, "Url": "https://zergpool.com/api/currencies" }, "MOAC": { "Algorithm": "Ethash", - "BlockHeight": 13614441, + "BlockHeight": 13621567, "CoinName": "", - "DAGsize": 4890557312, - "Date": "2024-03-16T07:53:53.0242288Z", - "Epoch": 455, + "DAGsize": 4898946944, + "Date": "2024-03-19T19:13:19.436352Z", + "Epoch": 456, "Url": "https://minerstat.com/dag-size-calculator" }, "NEOX": { "Algorithm": "KawPow", - "BlockHeight": 955265, + "BlockHeight": 960247, "CoinName": "Neoxa", - "DAGsize": 2155872128, - "Date": "2024-03-16T07:53:52.677576Z", - "Epoch": 129, - "Url": "https://whattomine.com/coins.json" + "DAGsize": 2164257664, + "Date": "2024-03-19T19:41:56.8901811Z", + "Epoch": 130, + "Url": "https://zergpool.com/api/currencies" }, "NILU": { "Algorithm": "Ethash", - "BlockHeight": 6242877, + "BlockHeight": 6242948, "CoinName": "", "DAGsize": 2835349376, - "Date": "2024-03-16T07:53:53.0637134Z", + "Date": "2024-03-19T19:13:19.4779525Z", "Epoch": 210, "Url": "https://minerstat.com/dag-size-calculator" }, "NIR": { "Algorithm": "ProgPowZ", - "BlockHeight": 168675, + "BlockHeight": 178709, "CoinName": "Nirmata", "DAGsize": 1132461952, - "Date": "2024-03-16T07:53:52.6627522Z", + "Date": "2024-03-19T19:13:18.8876626Z", "Epoch": 7, "Url": "https://whattomine.com/coins.json" }, @@ -428,26 +434,26 @@ "BlockHeight": 8848535, "CoinName": "", "DAGsize": 3556763264, - "Date": "2024-03-16T07:53:53.0430002Z", + "Date": "2024-03-19T19:13:19.4579683Z", "Epoch": 296, "Url": "https://minerstat.com/dag-size-calculator" }, "OCTA": { "Algorithm": "Ethash", - "BlockHeight": 4241089, + "BlockHeight": 4264768, "CoinName": "Octaspace", - "DAGsize": 2273312128, - "Date": "2024-03-16T07:53:53.8439488Z", - "Epoch": 143, + "DAGsize": 2281701248, + "Date": "2024-03-19T19:41:56.9061219Z", + "Epoch": 144, "Url": "https://zergpool.com/api/currencies" }, "PAPRY": { "Algorithm": "KawPow", - "BlockHeight": 559781, + "BlockHeight": 564754, "CoinName": "Paprika", - "DAGsize": 1711274624, - "Date": "2024-03-16T07:53:53.850967Z", - "Epoch": 76, + "DAGsize": 1719661184, + "Date": "2024-03-19T19:41:56.9091707Z", + "Epoch": 77, "Url": "https://zergpool.com/api/currencies" }, "PGC": { @@ -461,30 +467,30 @@ }, "PRCO": { "Algorithm": "KawPow", - "BlockHeight": 924871, + "BlockHeight": 929848, "CoinName": "ProcyonCoin", "DAGsize": 2122315136, - "Date": "2024-03-16T07:53:53.8670582Z", + "Date": "2024-03-19T19:41:56.9152844Z", "Epoch": 125, "Url": "https://zergpool.com/api/currencies" }, "QKC": { "Algorithm": "Ethash", - "BlockHeight": 15703269, + "BlockHeight": 15733766, "CoinName": "Quarkchain", - "DAGsize": 5477760896, - "Date": "2024-03-16T07:53:52.8307567Z", - "Epoch": 525, + "DAGsize": 5486148736, + "Date": "2024-03-19T19:13:19.1017503Z", + "Epoch": 526, "Url": "https://whattomine.com/coins.json" }, "REDE": {}, "REDEV2": { "Algorithm": "Ethash", - "BlockHeight": 1769994, + "BlockHeight": 1793334, "CoinName": "Redev2", - "DAGsize": 1577056384, - "Date": "2024-03-16T07:53:53.8811184Z", - "Epoch": 60, + "DAGsize": 1585446272, + "Date": "2024-03-19T19:41:56.9256528Z", + "Epoch": 61, "Url": "https://zergpool.com/api/currencies" }, "RTH": { @@ -498,38 +504,38 @@ }, "RVN": { "Algorithm": "KawPow", - "BlockHeight": 3237064, + "BlockHeight": 3242062, "CoinName": "RavenCoin", - "DAGsize": 4706007424, - "Date": "2024-03-16T07:53:54.4218398Z", - "Epoch": 433, - "Url": "https://prohashing.com/api/v1/currencies" + "DAGsize": 4714397056, + "Date": "2024-03-19T19:41:56.9368685Z", + "Epoch": 434, + "Url": "https://zergpool.com/api/currencies" }, "SATOX": { "Algorithm": "KawPow", - "BlockHeight": 610687, + "BlockHeight": 615674, "CoinName": "Sato", - "DAGsize": 1769995904, - "Date": "2024-03-16T07:53:52.7109018Z", - "Epoch": 83, - "Url": "https://whattomine.com/coins.json" + "DAGsize": 1778382464, + "Date": "2024-03-19T19:41:56.9401038Z", + "Epoch": 84, + "Url": "https://zergpool.com/api/currencies" }, "SCC": { "Algorithm": "FiroPowSCC", - "BlockHeight": 852873, + "BlockHeight": 854897, "CoinName": "StakeCubeCoin", - "DAGsize": 6593443456, - "Date": "2024-03-16T07:53:52.7178769Z", - "Epoch": 658, - "Url": "https://whattomine.com/coins.json" + "DAGsize": 6601834112, + "Date": "2024-03-19T19:41:56.8105337Z", + "Epoch": 659, + "Url": "https://zergpool.com/api/currencies" }, "SERO": { "Algorithm": "ProgPowSero", - "BlockHeight": 12222565, + "BlockHeight": 12245499, "CoinName": "Sero", - "DAGsize": 4504682368, - "Date": "2024-03-16T07:53:52.7085542Z", - "Epoch": 409, + "DAGsize": 4513068416, + "Date": "2024-03-19T19:13:18.9777782Z", + "Epoch": 410, "Url": "https://whattomine.com/coins.json" }, "SLX": { @@ -543,55 +549,55 @@ }, "UBQ": { "Algorithm": "UbqHash", - "BlockHeight": 5038503, + "BlockHeight": 5052050, "CoinName": "Ubiq", - "DAGsize": 2491414144, - "Date": "2024-03-16T07:53:53.0770157Z", - "Epoch": 169, + "DAGsize": 2499803776, + "Date": "2024-03-19T19:13:19.4799754Z", + "Epoch": 170, "Url": "https://minerstat.com/dag-size-calculator" }, "VLC": { "Algorithm": "KawPow", - "BlockHeight": 49161, + "BlockHeight": 53586, "CoinName": "Vultaic", - "DAGsize": 1140849536, - "Date": "2024-03-16T07:53:52.6837366Z", - "Epoch": 8, - "Url": "https://whattomine.com/coins.json" + "DAGsize": 1149232768, + "Date": "2024-03-19T19:38:55.854416Z", + "Epoch": 9, + "Url": "https://zergpool.com/api/currencies" }, "XNA": { "Algorithm": "KawPow", - "BlockHeight": 476421, + "BlockHeight": 481417, "CoinName": "Neurai", - "DAGsize": 1619000192, - "Date": "2024-03-16T07:53:53.1094547Z", - "Epoch": 65, - "Url": "https://minerstat.com/dag-size-calculator" + "DAGsize": 1627386752, + "Date": "2024-03-19T19:38:55.8647529Z", + "Epoch": 66, + "Url": "https://zergpool.com/api/currencies" }, "XPB": { "Algorithm": "Ethash", - "BlockHeight": 1259570, + "BlockHeight": 1282603, "CoinName": "Powblocks", - "DAGsize": 1434451072, - "Date": "2024-03-16T07:53:52.7929411Z", - "Epoch": 43, - "Url": "https://whattomine.com/coins.json" + "DAGsize": 1442839168, + "Date": "2024-03-19T19:38:55.8669197Z", + "Epoch": 44, + "Url": "https://zergpool.com/api/currencies" }, "ZANO": { "Algorithm": "ProgPowZ", - "BlockHeight": 2547617, + "BlockHeight": 2552658, "CoinName": "Zano", - "DAGsize": 1795157888, - "Date": "2024-03-16T07:53:52.6600482Z", - "Epoch": 86, - "Url": "https://whattomine.com/coins.json" + "DAGsize": 1803550592, + "Date": "2024-03-19T19:38:55.8740059Z", + "Epoch": 87, + "Url": "https://zergpool.com/api/currencies" } }, "Updated": { - "https://evr.cryptoscope.io/api/getblockcount": "2024-03-15T19:22:09.1559592Z", - "https://minerstat.com/dag-size-calculator": "2024-03-16T07:53:53.2062894Z", - "https://prohashing.com/api/v1/currencies": "2024-03-16T07:53:54.4265698Z", - "https://whattomine.com/coins.json": "2024-03-16T07:53:52.8619408Z", - "https://zergpool.com/api/currencies": "2024-03-16T07:53:53.8814513Z" + "https://evr.cryptoscope.io/api/getblockcount": "2024-03-19T11:45:08.3320639Z", + "https://minerstat.com/dag-size-calculator": "2024-03-19T19:27:59.7664715Z", + "https://prohashing.com/api/v1/currencies": "2024-03-19T19:28:01.5731511Z", + "https://whattomine.com/coins.json": "2024-03-19T19:27:59.4359898Z", + "https://zergpool.com/api/currencies": "2024-03-19T19:41:56.940439Z" } } diff --git a/Includes/APIServer.psm1 b/Includes/APIServer.psm1 index fee9e985..7ab551a3 100644 --- a/Includes/APIServer.psm1 +++ b/Includes/APIServer.psm1 @@ -18,13 +18,13 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\APIServer.psm1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Function Start-APIServer { - $APIVersion = "0.5.3.14" + $APIVersion = "0.5.4.0" If ($Variables.APIRunspace.AsyncObject.IsCompleted -or $Config.APIport -ne $Variables.APIRunspace.APIport) { Stop-APIServer @@ -384,7 +384,7 @@ Function Start-APIServer { $Data = $StatNames | ConvertTo-Json } Else { - $Data = "No matching stats found." + $Data = "No matching stats found" } Break } @@ -394,7 +394,7 @@ Function Start-APIServer { $Data = $Miner | ConvertTo-Json -Depth 10 } Else { - $Data = "Miner with key '$Key' not found." + $Data = "Miner with key '$Key' not found" } Break } @@ -403,9 +403,9 @@ Function Start-APIServer { If ($Miners = @(Compare-Object -PassThru -IncludeEqual -ExcludeDifferent @($Variables.Miners | Select-Object) @($Parameters.Miners | ConvertFrom-Json -ErrorAction Ignore | Select-Object) -Property Info)) { $Data = @() $Miners | ForEach-Object { - $Data += "$($_.Name) ($($_.Algorithms -join ' & '))" + $Data += $_.Name ForEach ($Worker in $_.Workers) { - Remove-Stat -Name "$($_.Name)_$($Worker.Pool.AlgorithmVariant)_Hashrate" + Remove-Stat -Name "$($_.Name)_$($Worker.Pool.Algorithm)_Hashrate" $Worker.Hashrate = [Double]::NaN } Remove-Variable Worker @@ -414,12 +414,12 @@ Function Start-APIServer { $_.Available = $false } $Data = $Data | Sort-Object -Unique - $Message = "$($Data.Count) $(If ($Data.Count -eq 1) { "Miner" } Else { "Miners" }) disbled." + $Message = "$($Data.Count) $(If ($Data.Count -eq 1) { "Miner" } Else { "Miners" }) disbled" Write-Message -Level Verbose "Web GUI: $Message" $Data = "$($Data -join "`n")`n`n$Message" } Else { - $Data = "No matching miner stats found." + $Data = "No matching miner stats found" } Break } @@ -429,9 +429,9 @@ Function Start-APIServer { If ($Miners = @(Compare-Object -PassThru -IncludeEqual -ExcludeDifferent @($Variables.Miners | Select-Object) @($Parameters.Miners | ConvertFrom-Json -ErrorAction Ignore | Select-Object) -Property Info)) { $Data = @() $Miners | ForEach-Object { - $Data += "$($_.Name) ($($_.Algorithms -join ' & '))" + $Data += $_.Name ForEach ($Worker in $_.Workers) { - Remove-Stat -Name "$($_.Name)_$($Worker.Pool.AlgorithmVariant)_Hashrate" + Remove-Stat -Name "$($_.Name)_$($Worker.Pool.Algorithm)_Hashrate" $Worker.Hashrate = [Double]::NaN } Remove-Variable Worker @@ -440,12 +440,12 @@ Function Start-APIServer { If (-not $_.Reasons) { $_.Available = $true } } $Data = $Data | Sort-Object -Unique - $Message = "$($Data.Count) $(If ($Data.Count -eq 1) { "Miner" } Else { "Miners" }) enabled." + $Message = "$($Data.Count) $(If ($Data.Count -eq 1) { "Miner" } Else { "Miners" }) enabled" Write-Message -Level Verbose "Web GUI: $Message" $Data = "$($Data -join "`n")`n`n$Message" } Else { - $Data = "No matching miner stats found." + $Data = "No matching miner stats found" } Break } @@ -454,16 +454,16 @@ Function Start-APIServer { $TempStats = @(If ($null -ne $Parameters.Value) { @($Stats.psBase.Keys.Where({ $_ -like "*_$($Parameters.Type)" -and $Stats[$_].Live -eq $Parameters.Value }).ForEach({ $Stats[$_] })) } Else { @($Stats) }) If ($TempStats) { If ($null -ne $Parameters.Value) { - ($TempStats | Sort-Object -Property Name).ForEach({ $Data += "$($_.Name -replace "_$($Parameters.Type)")`n" }) - If ($Parameters.Type -eq "Hashrate") { $Data += "`n$($TempStats.Count) stat file$(if ($TempStats.Count -ne 1) { "s" }) with $($Parameters.Value)H/s hashrate." } - ElseIf ($Parameters.Type -eq "PowerConsumption") { $Data += "`n$($TempStats.Count) stat file$(if ($TempStats.Count -ne 1) { "s" }) with $($Parameters.Value)W power consumption." } + ($TempStats.Name | Sort-Object).ForEach({ $Data += "$($_ -replace '(_Hashrate|_PowerConsumption)$')`n" }) + If ($Parameters.Type -eq "Hashrate") { $Data += "`n$($TempStats.Count) stat file$(If ($TempStats.Count -ne 1) { "s" }) with $($Parameters.Value)H/s hashrate" } + ElseIf ($Parameters.Type -eq "PowerConsumption") { $Data += "`n$($TempStats.Count) stat file$(If ($TempStats.Count -ne 1) { "s" }) with $($Parameters.Value)W power consumption" } } Else { $Data = $TempStats | ConvertTo-Json } } Else { - $Data = "No matching stats found." + $Data = "No matching stats found" } Break } @@ -481,12 +481,12 @@ Function Start-APIServer { $_.Disabled = $false } $Data = $Data | Sort-Object -Unique - $Message = "Reset pool stats for $($Pools.Count) $(If ($Pools.Count -eq 1) { "pool" } Else { "pools" })." + $Message = "Reset pool stats for $($Pools.Count) $(If ($Pools.Count -eq 1) { "pool" } Else { "pools" })" Write-Message -Level Verbose "Web GUI: $Message" $Data = "$($Data -join "`n")`n`n$Message" } Else { - $Data = "No matching pool stats found." + $Data = "No matching pool stats found" } Break } @@ -499,14 +499,14 @@ Function Start-APIServer { $_.Benchmark = $true $_.Earning_Accuracy = [Double]::NaN $_.Disabled = $false - $Data += "$($_.Name) ($($_.Algorithms -join ' & '))" + $Data += $_.Name ForEach ($Worker in $_.Workers) { - Remove-Stat -Name "$($_.Name)_$($Worker.Pool.AlgorithmVariant)_Hashrate" + Remove-Stat -Name "$($_.Name)_$($Worker.Pool.Algorithm)_Hashrate" $Worker.Hashrate = [Double]::NaN } Remove-Variable Worker # Also clear power consumption - Remove-Stat -Name "$($_.Name)$(If ($_.Algorithms.Count -eq 1) { "_$($_.Algorithms[0])" })_PowerConsumption" + Remove-Stat -Name "$($_.Name)_PowerConsumption" $_.PowerConsumption = $_.PowerCost = $_.Profit = $_.Profit_Bias = $_.Earning = $_.Earning_Bias = [Double]::NaN $_.Reasons = [System.Collections.Generic.List[String]]@($_.Reasons | Where-Object { $_ -ne "Disabled by user" }) @@ -516,12 +516,12 @@ Function Start-APIServer { If ($_.Status -eq "Disabled") { $_.Status = "Idle" } } $Data = $Data | Sort-Object -Unique - $Message = "Re-benchmark triggered for $($Data.Count) $(If ($Data.Count -eq 1) { "miner" } Else { "miners" })." + $Message = "Re-benchmark triggered for $($Data.Count) $(If ($Data.Count -eq 1) { "miner" } Else { "miners" })" Write-Message -Level Verbose "Web GUI: $Message" $Data = "$($Data -join "`n")`n`n$Message" } Else { - $Data = "No matching hashrate stats found." + $Data = "No matching hashrate stats found" } Break } @@ -535,19 +535,19 @@ Function Start-APIServer { $_.Activated = 0 # To allow 3 attempts } $_.PowerConsumption = [Double]::NaN - $Stat_Name = "$($_.Name)$(If ($_.Workers.Count -eq 1) { "_$($_.Workers[0].Pool.Algorithm)" })" + $Stat_Name = $_.Name $Data += $Stat_Name Remove-Stat -Name "$($Stat_Name)_PowerConsumption" $_.PowerConsumption = $_.PowerCost = $_.Profit = $_.Profit_Bias = $_.Earning = $_.Earning_Bias = [Double]::NaN If ($_.Status -eq "Disabled") { $_.Status = "Idle" } } $Data = $Data | Sort-Object -Unique - $Message = "Re-measure power consumption triggered for $($Data.Count) $(If ($Data.Count -eq 1) { "miner" } Else { "miners" })." + $Message = "Re-measure power consumption triggered for $($Data.Count) $(If ($Data.Count -eq 1) { "miner" } Else { "miners" })" Write-Message -Level Verbose "Web GUI: $Message" $Data = "$($Data -join "`n")`n`n$Message" } Else { - $Data = "No matching power consumption stats found." + $Data = "No matching power consumption stats found" } Break } @@ -557,17 +557,17 @@ Function Start-APIServer { $Data = @() $TempStats | Sort-Object -Property Name | ForEach-Object { Remove-Stat -Name $_.Name - $Data += "$($_.Name -replace "_$($Parameters.Type)")" + $Data += $_.Name -replace '(_Hashrate|_PowerConsumption)$' } $Data = $Data | Sort-Object -Unique - If ($Parameters.Type -eq "Hashrate") { $Message = "Reset $($TempStats.Count) stat file$(if ($TempStats.Count -ne 1) { "s" }) with $($Parameters.Value) H/s hashrate." } - ElseIf ($Parameters.Type -eq "PowerConsumption") { $Message = "Reset $($TempStats.Count) stat file$(if ($TempStats.Count -ne 1) { "s" }) with $($Parameters.Value) W power consumption." } - ElseIf ($Parameters.Type -eq "Profit") { $Message = "Reset $($TempStats.Count) pool stat file$(if ($TempStats.Count -ne 1) { "s" })." } + If ($Parameters.Type -eq "Hashrate") { $Message = "Reset $($TempStats.Count) stat file$(If ($TempStats.Count -ne 1) { "s" })$(If ($null -ne $Parameters.Value) { " with $($Parameters.Value)H/s hashrate" })" } + ElseIf ($Parameters.Type -eq "PowerConsumption") { $Message = "Reset $($TempStats.Count) stat file$(If ($TempStats.Count -ne 1) { "s" })$(If ($null -ne $Parameters.Value) { " with $($Parameters.Value)W power consumption" })" } + ElseIf ($Parameters.Type -eq "Profit") { $Message = "Reset $($TempStats.Count) pool stat file$(If ($TempStats.Count -ne 1) { "s" })." } Write-Message -Level Info "Web GUI: $Message" $Data = "$($Data -join "`n")`n`n$Message" } Else { - $Data = "No matching stats found." + $Data = "No matching stats found" } Break } @@ -577,7 +577,7 @@ Function Start-APIServer { If ($Miners = @(Compare-Object -PassThru -IncludeEqual -ExcludeDifferent @($Variables.Miners | Select-Object) @($Parameters.Miners | ConvertFrom-Json -ErrorAction Ignore | Select-Object) -Property Info)) { $Miners | ForEach-Object { If ($Parameters.Value -le 0 -and $Parameters.Type -eq "Hashrate") { $_.Available = $false; $_.Disabled = $true } - $Data += "$($_.Name) ($($_.Algorithms -join ' & '))" + $Data += $_.Name ForEach ($Algorithm in $_.Algorithms) { $Stat_Name = "$($_.Name)_$($Algorithm)_$($Parameters.Type)" If ($Parameters.Value -eq 0) { # Miner failed @@ -594,19 +594,19 @@ Function Start-APIServer { Remove-Variable Algorithm } $Data = $Data | Sort-Object -Unique - $Message = "$(If ($Data.Count -eq 1) { "The miner is" } Else { "$($Data.Count) miners are" }) $(If ($Parameters.Value -eq 0) { "marked as failed" } ElseIf ($Parameters.Value -eq -1) { "disabled" } Else { "set to value $($Parameters.Value)" } )." + $Message = "$(If ($Data.Count -eq 1) { "The miner is" } Else { "$($Data.Count) miners are" }) $(If ($Parameters.Value -eq 0) { "marked as failed" } ElseIf ($Parameters.Value -eq -1) { "disabled" } Else { "set to value $($Parameters.Value)" })" Write-Message -Level Verbose "Web GUI: $Message" $Data = "$($Data -join "`n")`n`n$Message" } Else { - $Data = "No matching miners found." + $Data = "No matching miners found" } Break } } "/functions/switchinglog/clear" { Get-ChildItem -Path ".\Logs\switchinglog.csv" -File | Remove-Item -Force - $Data = "Switching log '.\Logs\switchinglog.csv' cleared." + $Data = "Switching log '.\Logs\switchinglog.csv' cleared" Write-Message -Level Verbose "Web GUI: $Data" Break } @@ -653,12 +653,12 @@ Function Start-APIServer { Remove-Variable Pool $Data = $Data | Sort-Object -Unique If ($WatchdogTimers) { - $Message = "$($Data.Count) watchdog $(If ($Data.Count -eq 1) { "timer" } Else { "timers" }) removed." + $Message = "$($Data.Count) watchdog $(If ($Data.Count -eq 1) { "timer" } Else { "timers" }) removed" Write-Message -Level Verbose "Web GUI: $Message" $Data += "`n$Message" } Else { - $Data = "No matching watchdog timers found." + $Data = "No matching watchdog timers found" } Break } @@ -676,8 +676,8 @@ Function Start-APIServer { $_.Where({ -not $_.Reasons }).ForEach({ $_.Available = $true }) } ) - Write-Message -Level Verbose "Web GUI: All watchdog timers reset." - $Data = "Watchdog timers will be recreated in next cycle." + Write-Message -Level Verbose "Web GUI: All watchdog timers reset" + $Data = "Watchdog timers will be recreated in next cycle" Break } "/algorithms" { diff --git a/Includes/BalancesTracker.ps1 b/Includes/BalancesTracker.ps1 index 8e79d33e..1329d52b 100644 --- a/Includes/BalancesTracker.ps1 +++ b/Includes/BalancesTracker.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\BalancesTracker.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> using module .\Include.psm1 diff --git a/Includes/Core.ps1 b/Includes/Core.ps1 index f4809f2c..1da8b213 100644 --- a/Includes/Core.ps1 +++ b/Includes/Core.ps1 @@ -20,7 +20,7 @@ along with this program. If not, see . Product: UG-Miner File: Core.ps1 Version: 6.1.15 -Version date: 2024/03/16 +Version date: 2024/03/19 #> using module .\Include.psm1 @@ -103,7 +103,7 @@ Do { ) # Skip some stuff when previous cycle was shorter than half of what it should - If ((-not $Variables.Pools -or $Variables.EndCycleTime) -and ($Variables.BenchmarkingOrMeasuringMiners -or -not $Variables.Miners -or -not $Variables.BeginCycleTime -or (Compare-Object @($Config.PoolName | Select-Object) @($Variables.PoolName | Select-Object)) -or $Variables.BeginCycleTime.AddSeconds([Math]::Floor($Config.Interval / 2)) -lt [DateTime]::Now.ToUniversalTime() -or ((Compare-Object @($Config.ExtraCurrencies | Select-Object) @($Variables.AllCurrencies | Select-Object)).Where({ $_.SideIndicator -eq "<=" })))) { + If ((-not $Variables.Pools -or $Variables.EndCycleTime) -and (-not $Variables.Miners -or -not $Variables.BeginCycleTime -or (Compare-Object @($Config.PoolName | Select-Object) @($Variables.PoolName | Select-Object)) -or $Variables.BeginCycleTime.AddSeconds([Math]::Floor($Config.Interval / 2)) -lt [DateTime]::Now.ToUniversalTime() -or ((Compare-Object @($Config.ExtraCurrencies | Select-Object) @($Variables.AllCurrencies | Select-Object)).Where({ $_.SideIndicator -eq "<=" })))) { $Variables.BeginCycleTime = $Variables.Timer $Variables.EndCycleTime = $Variables.Timer.AddSeconds($Config.Interval) @@ -385,13 +385,13 @@ Do { $_.BlockHeight = $Variables.DAGdata.Currency.($_.Currency).BlockHeight $_.Epoch = $Variables.DAGdata.Currency.($_.Currency).Epoch $_.DAGSizeGiB = $Variables.DAGdata.Currency.($_.Currency).DAGsize / 1GB - $_.AlgorithmVariant = "$($_.Algorithm)-$([Math]::Ceiling($_.DAGSizeGiB))GiB" + $_.AlgorithmVariant = "$($_.Algorithm)($([Math]::Ceiling($_.DAGSizeGiB))GiB)" } ElseIf ($Variables.DAGdata.Algorithm.($_.Algorithm).BlockHeight) { $_.BlockHeight = $Variables.DAGdata.Algorithm.($_.Algorithm).BlockHeight $_.Epoch = $Variables.DAGdata.Algorithm.($_.Algorithm).Epoch $_.DAGSizeGiB = $Variables.DAGdata.Algorithm.($_.Algorithm).DAGsize / 1GB - $_.AlgorithmVariant = "$($_.Algorithm)-$([Math]::Ceiling($_.DAGSizeGiB))GiB" + $_.AlgorithmVariant = "$($_.Algorithm)($([Math]::Ceiling($_.DAGSizeGiB))GiB)" } Else { $_.AlgorithmVariant = $_.Algorithm @@ -640,7 +640,7 @@ Do { $Stat_Span = [TimeSpan]($Miner.StatEnd - $Miner.StatStart) ForEach ($Worker in $Miner.Workers) { - $Algorithm = $Worker.Pool.AlgorithmVariant + $Algorithm = $Worker.Pool.Algorithm $LatestMinerSharesData = ($Miner.Data[-1]).Shares If ($Miner.Data.Count -gt $Miner.MinDataSample -and -not $Miner.Benchmark -and $Config.SubtractBadShares -and $LatestMinerSharesData.$Algorithm -gt 0) { # Need $Miner.MinDataSample shares before adjusting hashrate $Factor = (1 - $LatestMinerSharesData.$Algorithm[1] / $LatestMinerSharesData.$Algorithm[3]) @@ -649,7 +649,7 @@ Do { Else { $Factor = 1 } - $Stat_Name = "$($Miner.Name)_$($Worker.Pool.AlgorithmVariant)_Hashrate" + $Stat_Name = "$($Miner.Name)_$($Worker.Pool.Algorithm)_Hashrate" $Stat = Set-Stat -Name $Stat_Name -Value $Miner_Hashrates.$Algorithm -Duration $Stat_Span -FaultDetection ($Miner.Data.Count -lt $Miner.MinDataSample -or $Miner.Activated -lt $Variables.WatchdogCount) -ToleranceExceeded ($Variables.WatchdogCount + 1) If ($Stat.Updated -gt $Miner.StatStart) { Write-Message -Level Info "Saved hashrate for '$($Stat_Name -replace '_Hashrate$')': $(($Miner_Hashrates.$Algorithm | ConvertTo-Hash) -replace ' ')$(If ($Factor -le 0.999) { " (adjusted by factor $($Factor.ToString('N3')) [Shares total: $($LatestMinerSharesData.$Algorithm[2]), rejected: $($LatestMinerSharesData.$Algorithm[1])])" })$(If ($Miner.Benchmark) { " [Benchmark done] ($($Miner.Data.Count) Sample$(If ($Miner.Data.Count -ne 1) { "s" }))" })." @@ -658,7 +658,7 @@ Do { $Variables.PoolsLastUsed.($Worker.Pool.Name) = $Stat.Updated # most likely this will count at the pool to keep balances alive } ElseIf ($Miner_Hashrates.$Algorithm -gt 0 -and $Miner.Status -eq [MinerStatus]::Running -and $Stat.Week -and ($Miner_Hashrates.$Algorithm -gt $Stat.Week * 2 -or $Miner_Hashrates.$Algorithm -lt $Stat.Week / 2)) { # Stop miner if new value is outside ±200% of current value - $Miner.StatusInfo = "Error: '$($Miner.Info)'' Reported hashrate is unreal ($($Algorithm): $(($Miner_Hashrates.$Algorithm | ConvertTo-Hash) -replace ' ') is not within ±200% of stored value of $(($Stat.Week | ConvertTo-Hash) -replace ' '))" + $Miner.StatusInfo = "Error: '$($Miner.Info)' Reported hashrate is unreal ($($Algorithm): $(($Miner_Hashrates.$Algorithm | ConvertTo-Hash) -replace ' ') is not within ±200% of stored value of $(($Stat.Week | ConvertTo-Hash) -replace ' '))" $Miner.SetStatus([MinerStatus]::Failed) $Variables.Devices.Where({ $_.Name -in $Miner.DeviceNames }).ForEach({ $_.Status = $Miner.Status; $_.StatusInfo = $Miner.StatusInfo; $_.SubStatus = $Miner.SubStatus }) } @@ -669,7 +669,7 @@ Do { # We don't want to store power consumption if we have less than $MinDataSample, store even when fluctuating hash rates were recorded If ($Miner.Data.Count -ge $Miner.MinDataSample -or $Miner.Activated -gt $Variables.WatchdogCount) { If ([Double]::IsNaN($Miner_PowerConsumption )) { $Miner_PowerConsumption = 0 } - $Stat_Name = "$($Miner.Name)$(If ($Miner.Workers.Count -eq 1) { "_$($Miner.Workers[0].Pool.AlgorithmVariant)" })_PowerConsumption" + $Stat_Name = "$($Miner.Name)_PowerConsumption" # Always update power consumption when benchmarking $Stat = Set-Stat -Name $Stat_Name -Value $Miner_PowerConsumption -Duration $Stat_Span -FaultDetection (-not $Miner.Benchmark -and ($Miner.Data.Count -lt $Miner.MinDataSample -or $Miner.Activated -lt $Variables.WatchdogCount)) -ToleranceExceeded ($Variables.WatchdogCount + 1) If ($Stat.Updated -gt $Miner.StatStart) { @@ -689,8 +689,8 @@ Do { Remove-Variable Miner -ErrorAction Ignore # Update pools last used, required for BalancesKeepAlive - If ($Variables.PoolsLastUsed.values -gt $Variables.BeginCycleTime) { $Variables.PoolsLastUsed | Get-SortedObject | ConvertTo-Json | Out-File -LiteralPath ".\Data\PoolsLastUsed.json" -Force } If ($Variables.AlgorithmsLastUsed.Values.Updated -gt $Variables.BeginCycleTime) { $Variables.AlgorithmsLastUsed | Get-SortedObject | ConvertTo-Json | Out-File -LiteralPath ".\Data\AlgorithmsLastUsed.json" -Force } + If ($Variables.PoolsLastUsed.values -gt $Variables.BeginCycleTime) { $Variables.PoolsLastUsed | Get-SortedObject | ConvertTo-Json | Out-File -LiteralPath ".\Data\PoolsLastUsed.json" -Force } # Send data to monitoring server # If ($Config.ReportToServer) { Write-MonitoringData } @@ -738,13 +738,13 @@ Do { $Miner.Workers[$Miner.Workers.IndexOf($Worker)].Fee = If ($Config.IgnoreMinerFee) { 0 } Else { $Miner.Fee[$Miner.Workers.IndexOf($Worker)] } } $Miner.PSObject.Properties.Remove("Fee") - $Miner | Add-Member Algorithms $Miner.Workers.Pool.AlgorithmVariant - $Miner | Add-Member Info "$(($Miner.Name -split '-')[0..2] -join '-') {$($Miner.Workers.ForEach({ "$($_.Pool.AlgorithmVariant)$(If ($_.Pool.MiningCurrency) { "[$($_.Pool.MiningCurrency)]" })", $_.Pool.Name -join '@' }) -join ' & ')}$(If (($Miner.Name -split '-')[4]) { " (Dual Intensity $(($Miner.Name -split '-')[4]))" })" + $Miner | Add-Member Algorithms $Miner.Workers.Pool.Algorithm + $Miner | Add-Member Info "$(($Miner.Name -split '-')[0..2] -join '-') {$($Miner.Workers.ForEach({ "$($_.Pool.Algorithm)$(If ($_.Pool.MiningCurrency) { "[$($_.Pool.MiningCurrency)]" })", $_.Pool.Name -join '@' }) -join ' & ')}$(If (($Miner.Name -split '-')[4]) { " (Dual Intensity $(($Miner.Name -split '-')[4]))" })" If ($Config.UseAllPoolAlgoCombos) { $Miner.Name = $Miner.Info -replace "\{", "(" -replace "\}", ")" -replace " " } $Miner -as $_.API } Catch { - Write-Message -Level Error "Failed to add Miner '$($Miner.Name)' as '$($Miner.API)' ($($Miner | ConvertTo-Json -Compress))" + Write-Message -Level Error "Failed to add miner '$($Miner.Name)' as '$($Miner.API)' ($($Miner | ConvertTo-Json -Compress))" "$(Get-Date -Format "yyyy-MM-dd_HH:mm:ss")" >> $ErrorLogFile $_.Exception | Format-List -Force >> $ErrorLogFile $_.InvocationInfo | Format-List -Force >> $ErrorLogFile @@ -1071,18 +1071,20 @@ Do { $Miner.SetStatus([MinerStatus]::Failed) } Else { - If ($Config.DryRun -and $Miner.GetStatus() -eq [MinerStatus]::Running) { $Miner.Restart = $true } - If (-not $Config.DryRun -and $Miner.Status -eq [MinerStatus]::DryRun) { $Miner.Restart = $true } - If ($Miner.Benchmark -or $Miner.MeasurePowerConsumption) { $Miner.Restart = $true } - If (-not $Miner.Best -or $Miner.Restart -or $Miner.SideIndicator -eq "<=" -or $Variables.NewMiningStatus -ne "Running") { - ForEach ($Worker in $Miner.WorkersRunning) { - If ($WatchdogTimers = @($Variables.WatchdogTimers.Where({ $_.MinerName -eq $Miner.Name -and $_.PoolName -eq $Worker.Pool.Name -and $_.PoolRegion -eq $Worker.Pool.Region -and $_.Algorithm -eq $Worker.Pool.Algorithm -and $_.DeviceNames -eq $Miner.DeviceNames }))) { - # Remove Watchdog timers - $Variables.WatchdogTimers = @($Variables.WatchdogTimers.Where({ $_ -notin $WatchdogTimers })) + If (-not $Miner.Benchmark -and -not $Miner.MeasurePowerConsumption) { + If ($Config.DryRun -and $Miner.GetStatus() -eq [MinerStatus]::Running) { $Miner.Restart = $true } + If (-not $Config.DryRun -and $Miner.Status -eq [MinerStatus]::DryRun) { $Miner.Restart = $true } + # If ($Miner.Benchmark -or $Miner.MeasurePowerConsumption) { $Miner.Restart = $true } + If (-not $Miner.Best -or $Miner.Restart -or $Miner.SideIndicator -eq "<=" -or $Variables.NewMiningStatus -ne "Running") { + ForEach ($Worker in $Miner.WorkersRunning) { + If ($WatchdogTimers = @($Variables.WatchdogTimers.Where({ $_.MinerName -eq $Miner.Name -and $_.PoolName -eq $Worker.Pool.Name -and $_.PoolRegion -eq $Worker.Pool.Region -and $_.Algorithm -eq $Worker.Pool.Algorithm -and $_.DeviceNames -eq $Miner.DeviceNames }))) { + # Remove Watchdog timers + $Variables.WatchdogTimers = @($Variables.WatchdogTimers.Where({ $_ -notin $WatchdogTimers })) + } } + Remove-Variable WatchdogTimers, Worker -ErrorAction Ignore + $Miner.SetStatus([MinerStatus]::Idle) } - Remove-Variable WatchdogTimers, Worker -ErrorAction Ignore - $Miner.SetStatus([MinerStatus]::Idle) } } $Variables.Devices.Where({ $_.Name -in $Miner.DeviceNames }).ForEach({ $_.Status = $Miner.Status; $_.StatusInfo = $Miner.StatusInfo; $_.SubStatus = $Miner.SubStatus }) @@ -1092,7 +1094,8 @@ Do { # Kill stuck miners on subsequent cycles when not in dry run mode If (-not $Config.DryRun -or $Variables.CycleStarts.Count -eq 1 -or $Variables.MinersNeedingBenchmark -or $Variables.MinersNeedingPowerConsumptionMeasurement) { $Loops = 0 - While ($StuckMinerProcessIDs = @((Get-CimInstance CIM_Process).Where({ $_.ExecutablePath -and ($Miners.Path | Sort-Object -Unique) -contains $_.ExecutablePath -and $Miners.ProcessID -notcontains $_.ProcessID }) | Select-Object -ExpandProperty ProcessID)) { + # Some miners, e.g. BzMiner spawn a second executable. These instances do not have a command line beginning with a drive letter + While ($StuckMinerProcessIDs = @((Get-CimInstance CIM_Process).Where({ $_.ExecutablePath -and ($Miners.Path | Sort-Object -Unique) -contains $_.ExecutablePath -and $_.CommandLine -match "[A-Z]\:\\" -and $Miners.ProcessID -notcontains $_.ProcessID }) | Select-Object -ExpandProperty ProcessID)) { $StuckMinerProcessIDs.ForEach( { If ($Miner = $Miners | Where-Object ProcessID -EQ $_) { Write-Message -Level Verbose "Killing stuck miner '$($Miner.Name)'." } @@ -1261,12 +1264,15 @@ Do { } Remove-Variable DataCollectInterval } + } + ForEach ($Miner in ($Variables.MinersBestPerDevice_Combo | Sort-Object { ($_.Name -Split '-|\(')[2] })) { If ($Message = "$(If ($Miner.Benchmark) { "Benchmark" })$(If ($Miner.Benchmark -and $Miner.MeasurePowerConsumption) { " and " })$(If($Miner.MeasurePowerConsumption) { "Power consumption measurement" })") { $Message = $Message.Substring(0, 1).toUpper() + $Message.Substring(1).toLower() Write-Message -Level Verbose "$Message for miner '$($Miner.Info)' in progress [Attempt $($Miner.Activated) of $($Variables.WatchdogCount + 1); min. $($Miner.MinDataSample) samples]..." } } + Remove-Variable Miner, Message -ErrorAction Ignore ($Variables.Miners.Where({ $_.Available }) | Group-Object { ($_.Name -Split '-|\(')[2] }).ForEach( @@ -1341,7 +1347,7 @@ Do { } If ([Math]::Floor(($Sample.Date - $Miner.ValidDataSampleTimestamp).TotalSeconds) -ge 0) { $Miner.Data += $Samples - Write-Message -Level Verbose "$($Miner.Name) data sample retrieved [$(($Sample.Hashrate.PSObject.Properties.Name.ForEach({ "$($_): $(($Sample.Hashrate.$_ | ConvertTo-Hash) -replace ' ')$(If ($Config.BadShareRatioThreshold) { " / Shares Total: $($Sample.Shares.$_[3]), Rejected: $($Sample.Shares.$_[1]), Ignored: $($Sample.Shares.$_[2])" })" })) -join ' & ')$(If ($Sample.PowerConsumption) { " / Power consumption: $($Sample.PowerConsumption.ToString("N2"))W" })] ($($Miner.Data.Count) Sample$(If ($Miner.Data.Count -ne 1) { "s" }))" + Write-Message -Level Verbose "$($Miner.Name) data sample collected [$(($Sample.Hashrate.PSObject.Properties.Name.ForEach({ "$($_): $(($Sample.Hashrate.$_ | ConvertTo-Hash) -replace ' ')$(If ($Config.BadShareRatioThreshold) { " / Shares Total: $($Sample.Shares.$_[3]), Rejected: $($Sample.Shares.$_[1]), Ignored: $($Sample.Shares.$_[2])" })" })) -join ' & ')$(If ($Sample.PowerConsumption) { " / Power consumption: $($Sample.PowerConsumption.ToString("N2"))W" })] ($($Miner.Data.Count) Sample$(If ($Miner.Data.Count -ne 1) { "s" }))" If ($Miner.Benchmark -or $Miner.MeasurePowerConsumption) { $Miner.SubStatus = "Benchmarking" $Miner.StatusInfo = "$($(If ($Miner.Benchmark) { "Benchmarking" }), $(If ($Miner.Benchmark -and $Miner.MeasurePowerConsumption) { " and measuring power consumption" } ElseIf ($Miner.MeasurePowerConsumption) { "Measuring power consumption" }) -join '') '$($Miner.Info)'" @@ -1391,9 +1397,9 @@ Do { # A miner crashed and we're not benchmarking, exit loop immediately $Variables.EndCycleMessage = " prematurely (Miner failed)" } - ElseIf ($Variables.BenchmarkingOrMeasuringMiners -and -not ($Variables.BenchmarkingOrMeasuringMiners.Where({ $_.Data.Count -lt $_.MinDataSample }))) { + ElseIf ($Variables.BenchmarkingOrMeasuringMiners.Where({ $_.Data.Count -ge $_.MinDataSample })) { # Enough samples collected for this loop, exit loop immediately - $Variables.EndCycleMessage = " (All running$(If ($Variables.BenchmarkingOrMeasuringMiners.Where({ $_.Benchmark })) { " benchmarking" })$(If ($Variables.BenchmarkingOrMeasuringMiners.Where({ $_.Benchmark -and $_.MeasurePowerConsumption })) { " and" })$(If ($Variables.BenchmarkingOrMeasuringMiners.Where({ $_.MeasurePowerConsumption })) { " power consumption measuring" }) miners have collected enough samples for this cycle)" + $Variables.EndCycleMessage = " (A$(If ($Variables.BenchmarkingOrMeasuringMiners.Where({ $_.Benchmark })) { " benchmarking" })$(If ($Variables.BenchmarkingOrMeasuringMiners.Where({ $_.Benchmark -and $_.MeasurePowerConsumption })) { " and" })$(If ($Variables.BenchmarkingOrMeasuringMiners.Where({ $_.MeasurePowerConsumption })) { " power consumption measuring" }) miner has collected enough samples for this cycle)" } } Catch { diff --git a/Includes/Downloader.ps1 b/Includes/Downloader.ps1 index f71e3059..c1d3d2de 100644 --- a/Includes/Downloader.ps1 +++ b/Includes/Downloader.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\Downloader.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> using module .\Includes\Include.psm1 diff --git a/Includes/Include.psm1 b/Includes/Include.psm1 index 47d6b946..65fe6aaa 100644 --- a/Includes/Include.psm1 +++ b/Includes/Include.psm1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\include.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> $Global:DebugPreference = "SilentlyContinue" @@ -584,7 +584,7 @@ Class Miner { $this.Workers.ForEach( { - If ($Stat = Get-Stat -Name "$($this.Name)_$($_.Pool.AlgorithmVariant)_Hashrate") { + If ($Stat = Get-Stat -Name "$($this.Name)_$($_.Pool.Algorithm)_Hashrate") { $_.Hashrate = $Stat.Hour $Factor = $_.Hashrate * (1 - $_.Fee - $_.Pool.Fee) $_.Disabled = $Stat.Disabled @@ -626,7 +626,7 @@ Class Miner { $this.Profit = [Double]::NaN $this.Profit_Bias = [Double]::NaN If ($CalculatePowerCost) { - If ($Stat = Get-Stat -Name "$($this.Name)$(If ($this.Workers.Count -eq 1) { "_$($this.Workers[0].Pool.AlgorithmVariant)" })_PowerConsumption") { + If ($Stat = Get-Stat -Name "$($this.Name)_PowerConsumption") { If ($Stat.Week) { $this.PowerConsumption = $Stat.Week $this.PowerCost = $this.PowerConsumption * $PowerCostBTCperW @@ -2618,7 +2618,9 @@ Function Invoke-CreateProcess { [String]$LogFile ) - $Job = Start-ThreadJob -Name $JobName -StreamingHost $null -ArgumentList $BinaryPath, $ArgumentList, $WorkingDirectory, $EnvBlock, $CreationFlags, $WindowStyle, $StartF, $PID { + # Cannot use Start-ThreadJob, $ControllerProcess.WaitForExit(500) would not work and running mines remain + $Job = Start-Job -Name $JobName -ArgumentList $BinaryPath, $ArgumentList, $WorkingDirectory, $EnvBlock, $CreationFlags, $WindowStyle, $StartF, $PID { + # $Job = Start-ThreadJob -Name $JobName -StreamingHost $null -ArgumentList $BinaryPath, $ArgumentList, $WorkingDirectory, $EnvBlock, $CreationFlags, $WindowStyle, $StartF, $PID { Param($BinaryPath, $ArgumentList, $WorkingDirectory, $EnvBlock, $CreationFlags, $WindowStyle, $StartF, $ControllerProcessID) $ControllerProcess = Get-Process -Id $ControllerProcessID @@ -2702,7 +2704,7 @@ public static class Kernel32 $Process.Handle | Out-Null Do { - If ($ControllerProcess.WaitForExit(200)) { + If ($ControllerProcess.WaitForExit(15000)) { [Void]$Process.CloseMainWindow() [Void]$Process.WaitForExit() [Void]$Process.Close() diff --git a/Includes/LegacyGUI.ps1 b/Includes/LegacyGUI.ps1 index 8803b78b..c93fc391 100644 --- a/Includes/LegacyGUI.ps1 +++ b/Includes/LegacyGUI.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\LegacyGUI.psm1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> [Void][System.Reflection.Assembly]::Load("System.Windows.Forms") @@ -90,7 +90,7 @@ Function CheckBoxSwitching_Click { $SwitchingDGV.Columns[1].FillWeight = 50 $SwitchingDGV.Columns[2].FillWeight = 90; $SwitchingDGV.Columns[2].HeaderText = "Miner" $SwitchingDGV.Columns[3].FillWeight = 60 + ($SwitchingDGV.MinersBest_Combo.ForEach({ $_.Pools.Count }) | Measure-Object -Maximum | Select-Object -ExpandProperty Maximum) * 40; $SwitchingDGV.Columns[3].HeaderText = "Pool" - $SwitchingDGV.Columns[4].FillWeight = 50 + ($SwitchingDGV.MinersBest_Combo.ForEach({ $_.Algorithms.Count }) | Measure-Object -Maximum | Select-Object -ExpandProperty Maximum) * 25; $SwitchingDGV.Columns[4].HeaderText = "Algorithm" + $SwitchingDGV.Columns[4].FillWeight = 50 + ($SwitchingDGV.MinersBest_Combo.ForEach({ $_.Algorithms.Count }) | Measure-Object -Maximum | Select-Object -ExpandProperty Maximum) * 25; $SwitchingDGV.Columns[4].HeaderText = "Algorithm (variant)" $SwitchingDGV.Columns[5].FillWeight = 90 + ($SwitchingDGV.MinersBest_Combo.ForEach({ $_.Accounts.Count }) | Measure-Object -Maximum | Select-Object -ExpandProperty Maximum) * 50; $SwitchingDGV.Columns[5].HeaderText = "Account" $SwitchingDGV.Columns[6].FillWeight = 30; $SwitchingDGV.Columns[6].HeaderText = "Cycles"; $SwitchingDGV.Columns[6].DefaultCellStyle.Alignment = "MiddleRight"; $SwitchingDGV.Columns[6].HeaderCell.Style.Alignment = "MiddleRight" $SwitchingDGV.Columns[7].FillWeight = 35; $SwitchingDGV.Columns[7].DefaultCellStyle.Alignment = "MiddleRight"; $SwitchingDGV.Columns[7].HeaderCell.Style.Alignment = "MiddleRight" @@ -162,7 +162,7 @@ Function Update-TabControl { @{ Name = "Power cost`r$($Config.MainCurrency)/day"; Expression = { If ($Variables.CalculatePowerCost -and -not [Double]::IsNaN($_.PowerCost)) { "{0:n$($Config.DecimalsMax)}" -f ($_.Powercost * $Variables.Rates.BTC.($Config.MainCurrency)) } Else { "n/a" } } } @{ Name = "Profit (biased)`r$($Config.MainCurrency)/day"; Expression = { If ($Variables.CalculatePowerCost -and -not [Double]::IsNaN($_.Profit)) { "{0:n$($Config.DecimalsMax)}" -f ($_.Profit * $Variables.Rates.BTC.($Config.MainCurrency)) } Else { "n/a" } } } @{ Name = "Power consumption"; Expression = { If (-not $_.MeasurePowerConsumption) { If ([Double]::IsNaN($_.PowerConsumption)) { "n/a" } Else { "$($_.PowerConsumption.ToString("N2")) W" } } Else { If ($_.Status -eq "Running") { "Measuring..." } Else { "Unmeasured" } } } } - @{ Name = "Algorithm"; Expression = { $_.WorkersRunning.ForEach({ "$($_.Pool.Algorithm)$(If ($_.Pool.Currency) { "[$($_.Pool.Currency)]" })" }) -join ' & '} }, + @{ Name = "Algorithm [Currency]"; Expression = { $_.WorkersRunning.ForEach({ "$($_.Pool.Algorithm)$(If ($_.Pool.Currency) { "[$($_.Pool.Currency)]" })" }) -join ' & '} }, @{ Name = "Pool"; Expression = { $_.WorkersRunning.Pool.Name -join ' & ' } } @{ Name = "Hashrate"; Expression = { If (-not $_.Benchmark) { $_.WorkersRunning.ForEach({ $_.Hashrate | ConvertTo-Hash }) -join ' & ' } Else { If ($_.Status -eq "Running") { "Benchmarking..." } Else { "Benchmark pending" } } } } @{ Name = "Running time`r(hhh:mm:ss)"; Expression = { "{0}:{1:mm}:{1:ss}" -f [Math]::floor((([DateTime]::Now).ToUniversalTime() - $_.BeginTime).TotalDays * 24), (([DateTime]::Now).ToUniversalTime() - $_.BeginTime) } } @@ -368,7 +368,7 @@ Function Update-TabControl { @{ Name = "Power cost`r$($Config.MainCurrency)/day"; Expression = { If (-not [Double]::IsNaN($_.PowerCost)) { "{0:n$($Config.DecimalsMax)}" -f ($_.Powercost * $Variables.Rates.BTC.($Config.MainCurrency)) } Else { "n/a" } } }, @{ Name = "Profit (biased)`r$($Config.MainCurrency)/day"; Expression = { If ($Variables.CalculatePowerCost -and -not [Double]::IsNaN($_.Profit_Bias)) { "{0:n$($Config.DecimalsMax)}" -f ($_.Profit * $Variables.Rates.BTC.($Config.MainCurrency)) } Else { "n/a" } } }, @{ Name = "Power consumption"; Expression = { If (-not $_.MeasurePowerConsumption) { If ([Double]::IsNaN($_.PowerConsumption)) { "n/a" } Else { "$($_.PowerConsumption.ToString("N2")) W" } } Else { If ($_.Status -eq "Running") { "Measuring..." } Else { "Unmeasured" } } } } - @{ Name = "Algorithm"; Expression = { $_.Workers.Pool.AlgorithmVariant -join ' & '} }, + @{ Name = "Algorithm (variant)"; Expression = { $_.Workers.Pool.AlgorithmVariant -join ' & '} }, @{ Name = "Pool"; Expression = { $_.Workers.Pool.Name -join ' & ' } }, @{ Name = "Hashrate"; Expression = { If (-not $_.Benchmark) { $_.Workers.ForEach({ $_.Hashrate | ConvertTo-Hash }) -join ' & ' } Else { If ($_.Status -eq "Running") { "Benchmarking..." } Else { "Benchmark pending" } } } } If ($RadioButtonMinersUnavailable.checked -or $RadioButtonMiners.checked) { @{ Name = "Reason(s)"; Expression = { $_.Reasons -join ', '} } } @@ -425,9 +425,9 @@ Function Update-TabControl { $PoolsDGV.BeginInit() $PoolsDGV.ClearSelection() $PoolsDGV.DataSource = $DataSource | Select-Object @( - @{ Name = "Algorithm"; Expression = { $_.Algorithm } } - @{ Name = "Coin name"; Expression = { $_.CoinName } } + @{ Name = "Algorithm (variant)"; Expression = { $_.AlgorithmVariant } } @{ Name = "Currency"; Expression = { $_.Currency } } + @{ Name = "Coin name"; Expression = { $_.CoinName } } @{ Name = "$Unit/GH/Day`r(biased)"; Expression = { "{0:n$($Config.DecimalsMax)}" -f ($_.Price_Bias * [Math]::Pow(1024, 3) * $Factor) } } @{ Name = "Accuracy"; Expression = { "{0:p2}" -f $_.Accuracy } } @{ Name = "Pool name"; Expression = { $_.Name } } @@ -440,8 +440,8 @@ Function Update-TabControl { ) | Sort-Object -Property Algorithm | Out-DataTable If ($PoolsDGV.Columns) { $PoolsDGV.Columns[0].FillWeight = 80 - $PoolsDGV.Columns[1].FillWeight = 70 - $PoolsDGV.Columns[2].FillWeight = 40 + $PoolsDGV.Columns[1].FillWeight = 40 + $PoolsDGV.Columns[2].FillWeight = 70 $PoolsDGV.Columns[3].FillWeight = 55; $PoolsDGV.Columns[3].DefaultCellStyle.Alignment = "MiddleRight"; $PoolsDGV.Columns[3].HeaderCell.Style.Alignment = "MiddleRight" $PoolsDGV.Columns[4].FillWeight = 45; $PoolsDGV.Columns[4].DefaultCellStyle.Alignment = "MiddleRight"; $PoolsDGV.Columns[4].HeaderCell.Style.Alignment = "MiddleRight" $PoolsDGV.Columns[5].FillWeight = 80 @@ -865,14 +865,14 @@ $ContextMenuStrip.Add_ItemClicked( $_.Disabled = $false $_.Benchmark = $true $_.Restart = $true - $Data += "$($_.Name) ($($_.Algorithms -join ' & '))" + $Data += $_.Name ForEach ($Worker in $_.Workers) { Remove-Stat -Name "$($_.Name)_$($Worker.Pool.Algorithm)_Hashrate" $Worker.Hashrate = [Double]::NaN } Remove-Variable Worker # Also clear power consumption - Remove-Stat -Name "$($_.Name)$(If ($_.Algorithms.Count -eq 1) { "_$($_.Algorithms[0])" })_PowerConsumption" + Remove-Stat -Name "$($_.Name)_PowerConsumption" $_.PowerConsumption = $_.PowerCost = $_.Profit = $_.Profit_Bias = $_.Earning = $_.Earning_Bias = [Double]::NaN If ($_.Status -eq [MinerStatus]::Idle) { $_.SubStatus = "Idle" @@ -911,7 +911,7 @@ $ContextMenuStrip.Add_ItemClicked( $_.Activated = 0 # To allow 3 attempts } $_.PowerConsumption = [Double]::NaN - $Stat_Name = "$($_.Name)$(If ($_.Algorithms.Count -eq 1) { "_$($_.Algorithms[0])" })" + $Stat_Name = $_.Name $Data += "$Stat_Name" Remove-Stat -Name "$($Stat_Name)_PowerConsumption" $_.PowerConsumption = $_.PowerCost = $_.Profit = $_.Profit_Bias = $_.Earning = $_.Earning_Bias = [Double]::NaN diff --git a/Includes/MinerAPIs/BzMiner.ps1 b/Includes/MinerAPIs/BzMiner.ps1 index 0a7fcd32..a308ede2 100644 --- a/Includes/MinerAPIs/BzMiner.ps1 +++ b/Includes/MinerAPIs/BzMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\BzMiner.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class BzMiner : Miner { diff --git a/Includes/MinerAPIs/Ccminer.ps1 b/Includes/MinerAPIs/Ccminer.ps1 index 660f83cb..45c2e2be 100644 --- a/Includes/MinerAPIs/Ccminer.ps1 +++ b/Includes/MinerAPIs/Ccminer.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\CCminer.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class CcMiner : Miner { diff --git a/Includes/MinerAPIs/EthMiner.ps1 b/Includes/MinerAPIs/EthMiner.ps1 index 65ff0942..c14b5af2 100644 --- a/Includes/MinerAPIs/EthMiner.ps1 +++ b/Includes/MinerAPIs/EthMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\EthMiner.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class EthMiner : Miner { diff --git a/Includes/MinerAPIs/FireIce.ps1 b/Includes/MinerAPIs/FireIce.ps1 index 43d5b847..f84671ed 100644 --- a/Includes/MinerAPIs/FireIce.ps1 +++ b/Includes/MinerAPIs/FireIce.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\FireIce.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class Fireice : Miner { diff --git a/Includes/MinerAPIs/Gminer.ps1 b/Includes/MinerAPIs/Gminer.ps1 index 5023145c..07f91925 100644 --- a/Includes/MinerAPIs/Gminer.ps1 +++ b/Includes/MinerAPIs/Gminer.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\GMiner.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class GMiner : Miner { diff --git a/Includes/MinerAPIs/HellMiner.ps1 b/Includes/MinerAPIs/HellMiner.ps1 index 7ded9d48..a9cc2b27 100644 --- a/Includes/MinerAPIs/HellMiner.ps1 +++ b/Includes/MinerAPIs/HellMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\lolMiner.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class HellMiner : Miner { diff --git a/Includes/MinerAPIs/MiniZ.ps1 b/Includes/MinerAPIs/MiniZ.ps1 index 6627b9e9..6b26bfe0 100644 --- a/Includes/MinerAPIs/MiniZ.ps1 +++ b/Includes/MinerAPIs/MiniZ.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\MiniZ.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class MiniZ : Miner { diff --git a/Includes/MinerAPIs/NBMiner.ps1 b/Includes/MinerAPIs/NBMiner.ps1 index 9ddf413d..17ef737f 100644 --- a/Includes/MinerAPIs/NBMiner.ps1 +++ b/Includes/MinerAPIs/NBMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\NBMiner.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class NBMiner : Miner { diff --git a/Includes/MinerAPIs/NanoMiner.ps1 b/Includes/MinerAPIs/NanoMiner.ps1 index 7fad777e..2304135f 100644 --- a/Includes/MinerAPIs/NanoMiner.ps1 +++ b/Includes/MinerAPIs/NanoMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\NanoMiner.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class NanoMiner : Miner { diff --git a/Includes/MinerAPIs/OneZero.ps1 b/Includes/MinerAPIs/OneZero.ps1 index 79c1c0e4..957ec512 100644 --- a/Includes/MinerAPIs/OneZero.ps1 +++ b/Includes/MinerAPIs/OneZero.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\Trex.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class OneZero : Miner { diff --git a/Includes/MinerAPIs/Rigel.ps1 b/Includes/MinerAPIs/Rigel.ps1 index 4a18a796..63652928 100644 --- a/Includes/MinerAPIs/Rigel.ps1 +++ b/Includes/MinerAPIs/Rigel.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\Rigel.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class Rigel : Miner { diff --git a/Includes/MinerAPIs/SRBMiner.ps1 b/Includes/MinerAPIs/SRBMiner.ps1 index c3dfac81..ed1d5e94 100644 --- a/Includes/MinerAPIs/SRBMiner.ps1 +++ b/Includes/MinerAPIs/SRBMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\SRBminer.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class SRBMiner : Miner { diff --git a/Includes/MinerAPIs/TeamBlackMiner.ps1 b/Includes/MinerAPIs/TeamBlackMiner.ps1 index 2d7fc3c3..6dd3a989 100644 --- a/Includes/MinerAPIs/TeamBlackMiner.ps1 +++ b/Includes/MinerAPIs/TeamBlackMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\lolMiner.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class TeamBlackMiner : Miner { @@ -48,7 +48,7 @@ Class TeamBlackMiner : Miner { ForEach ($Algorithm in $this.Algorithms) { $Data.pool.PSObject.Properties.Name | ForEach-Object { - If ($Data.pool.$_.Algo -eq ($Algorithm -replace '-\dGiB$')) { + If ($Data.pool.$_.Algo -eq $Algorithm) { $HashRate_Name = [String]$Algorithm $HashRate_Value = [Double]($Data.pool.$_.total_hashrate) $HashRate | Add-Member @{ $HashRate_Name = [Double]$HashRate_Value } diff --git a/Includes/MinerAPIs/Trex.ps1 b/Includes/MinerAPIs/Trex.ps1 index efcef315..17f034fe 100644 --- a/Includes/MinerAPIs/Trex.ps1 +++ b/Includes/MinerAPIs/Trex.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\Trex.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class Trex : Miner { diff --git a/Includes/MinerAPIs/Xgminer.ps1 b/Includes/MinerAPIs/Xgminer.ps1 index 21067fcc..6353294e 100644 --- a/Includes/MinerAPIs/Xgminer.ps1 +++ b/Includes/MinerAPIs/Xgminer.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\Xgminer.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class XgMiner : Miner { diff --git a/Includes/MinerAPIs/XmRig.ps1 b/Includes/MinerAPIs/XmRig.ps1 index b1e5d092..afa109d0 100644 --- a/Includes/MinerAPIs/XmRig.ps1 +++ b/Includes/MinerAPIs/XmRig.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\XmRig.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class XmRig : Miner { diff --git a/Includes/MinerAPIs/lolMiner.ps1 b/Includes/MinerAPIs/lolMiner.ps1 index 0126b3c9..177f3ec4 100644 --- a/Includes/MinerAPIs/lolMiner.ps1 +++ b/Includes/MinerAPIs/lolMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\lolMiner.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> Class lolMiner : Miner { diff --git a/Miners/BzMiner-v20.0.0.ps1 b/Miners/BzMiner-v20.0.0.ps1 index a7998c63..c5fd77c5 100644 --- a/Miners/BzMiner-v20.0.0.ps1 +++ b/Miners/BzMiner-v20.0.0.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -in @("AMD", "INTEL") -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge [Version]"460.27.03") }))) { Return } @@ -104,13 +104,13 @@ If ($Algorithms) { If ($AvailableMiner_Devices = $Miner_Devices.Where({ (-not $ExcludeGPUModel -or $_.Model -notmatch $ExcludeGPUModel) -and $_.Architecture -notin $ExcludeGPUArchitecture })) { $ExcludePools = $_.ExcludePools - ForEach ($Pool0 in ($MinerPools[0][$_.Algorithms[0]].Where({ $_.Name -notin $ExcludePools[0] -and $_.Ethash.Epoch -eq $null -or $_.Ethash.Epoch -gt 0 -and $Config.SSL -ne "Always" -or $_.SSLSelfSignedCertificate -ne $true }))) { - ForEach ($Pool1 in ($MinerPools[1][$_.Algorithms[1]].Where({ $_.Name -notin $ExcludePools[1] -and $Config.SSL -ne "Always" -or $_.SSLSelfSignedCertificate -ne $true }))) { + ForEach ($Pool0 in ($MinerPools[0][$_.Algorithms[0]].Where({ $_.Name -notin $ExcludePools[0] -and ($_.Ethash.Epoch -eq $null -or $_.Ethash.Epoch -gt 0) -and ($Config.SSL -ne "Always" -or $_.SSLSelfSignedCertificate -ne $true) }))) { + ForEach ($Pool1 in ($MinerPools[1][$_.Algorithms[1]].Where({ $_.Name -notin $ExcludePools[1] -and ($Config.SSL -ne "Always" -or $_.SSLSelfSignedCertificate -ne $true) }))) { $MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)$(If ($_.Algorithms[1]) { "-$($_.Algorithms[0])&$($_.Algorithms[1])" })" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })" $Arguments = $_.Arguments[0] Switch ($Pool0.Protocol) { diff --git a/Miners/CcminerAlexis78-v1.5.2.ps1 b/Miners/CcminerAlexis78-v1.5.2.ps1 index 760f2678..389848e5 100644 --- a/Miners/CcminerAlexis78-v1.5.2.ps1 +++ b/Miners/CcminerAlexis78-v1.5.2.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.1" }))) { Return } @@ -60,11 +60,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - $Arguments = $_.Arguments If ($AvailableMiner_Devices.Where({ $_.MemoryGiB -le 2 })) { $Arguments = $Arguments -replace ' --intensity [0-9\.]+' } diff --git a/Miners/CcminerDyn-v1.0.2.ps1 b/Miners/CcminerDyn-v1.0.2.ps1 index 2021a29b..1b14a219 100644 --- a/Miners/CcminerDyn-v1.0.2.ps1 +++ b/Miners/CcminerDyn-v1.0.2.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } # Cuda error in func 'argon2d_hash_cuda' at line 89 : an illegal instruction was encountered on GTX 750 @@ -49,11 +49,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - [PSCustomObject]@{ API = "CcMiner" Arguments = "$($_.Arguments) --url stratum+tcp://$($Pool.Host):$($Pool.PoolPorts[0]) --user $($Pool.User) --pass $($Pool.Pass) --statsavg 1 --retry-pause 1 --api-bind $MinerAPIPort --devices $(($AvailableMiner_Devices.$DeviceEnumerator | Sort-Object -Unique).ForEach({ '{0:x}' -f $_ }) -join ',')" diff --git a/Miners/CcminerKlausT-v8.25.ps1 b/Miners/CcminerKlausT-v8.25.ps1 index 607907d9..93b8028b 100644 --- a/Miners/CcminerKlausT-v8.25.ps1 +++ b/Miners/CcminerKlausT-v8.25.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -and $_.OpenCL.ComputeCapability -lt "6.0" -and $_.Architecture -ne "Other" }))) { Return } @@ -61,11 +61,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - $Arguments = $_.Arguments If ($AvailableMiner_Devices.Where({ $_.MemoryGiB -le 2 })) { $Arguments = $Arguments -replace ' --intensity [0-9\.]+' } diff --git a/Miners/CcminerKlausT-v8.26x2.ps1 b/Miners/CcminerKlausT-v8.26x2.ps1 index 7b6c889e..6ab38ae7 100644 --- a/Miners/CcminerKlausT-v8.26x2.ps1 +++ b/Miners/CcminerKlausT-v8.26x2.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge [Version]"6.0" }))) { Return } @@ -65,11 +65,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - $Arguments = $_.Arguments If ($AvailableMiner_Devices.Where({ $_.MemoryGiB -le 2 })) { $Arguments = $Arguments -replace ' --intensity [0-9\.]+' } diff --git a/Miners/CcminerLyra2z330-v8.21r9.ps1 b/Miners/CcminerLyra2z330-v8.21r9.ps1 index 35de220e..258698a3 100644 --- a/Miners/CcminerLyra2z330-v8.21r9.ps1 +++ b/Miners/CcminerLyra2z330-v8.21r9.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.1" }))) { Return } @@ -53,11 +53,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - $Arguments = $_.Arguments If ($AvailableMiner_Devices.Where({ $_.MemoryGiB -le 2 })) { $Arguments = $Arguments -replace ' --intensity [0-9\.]+' } diff --git a/Miners/CcminerLyraYesscrypt-v8.21r18v5.ps1 b/Miners/CcminerLyraYesscrypt-v8.21r18v5.ps1 index d9152a3a..ba309a96 100644 --- a/Miners/CcminerLyraYesscrypt-v8.21r18v5.ps1 +++ b/Miners/CcminerLyraYesscrypt-v8.21r18v5.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.1" }))) { Return } @@ -54,11 +54,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - $Arguments = $_.Arguments If ($AvailableMiner_Devices.Where({ $_.MemoryGiB -le 2 })) { $Arguments = $Arguments -replace ' --intensity [0-9\.]+' } diff --git a/Miners/CcminerMemeHash-v2.5.5.9.ps1 b/Miners/CcminerMemeHash-v2.5.5.9.ps1 index 95c00861..27c8c8b8 100644 --- a/Miners/CcminerMemeHash-v2.5.5.9.ps1 +++ b/Miners/CcminerMemeHash-v2.5.5.9.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } @@ -50,11 +50,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture -and $_.MemoryGiB -ge $MinMemGiB})) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - $Arguments = $_.Arguments If ($AvailableMiner_Devices.Where({ $_.MemoryGiB -le 2 })) { $Arguments = $Arguments -replace ' --intensity [0-9\.]+' } diff --git a/Miners/CcminerNeoscryptXaya-v0.2.ps1 b/Miners/CcminerNeoscryptXaya-v0.2.ps1 index 3cabb14a..93d2e217 100644 --- a/Miners/CcminerNeoscryptXaya-v0.2.ps1 +++ b/Miners/CcminerNeoscryptXaya-v0.2.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" -and $_.Architecture -ne "Other" }))) { Return } # Cuda error in func 'neoscrypt_hash_k4' at line 1518 : an illegal instruction was encountered on GTX 750 @@ -49,11 +49,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools}))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - $Arguments = $_.Arguments If ($AvailableMiner_Devices.Where({ $_.MemoryGiB -le 2 })) { $Arguments = $Arguments -replace ' --intensity 21', ' --intensity 20' } diff --git a/Miners/CcminerVerusCpu-v3.8.3.ps1 b/Miners/CcminerVerusCpu-v3.8.3.ps1 index 2190a1dc..a9f92d11 100644 --- a/Miners/CcminerVerusCpu-v3.8.3.ps1 +++ b/Miners/CcminerVerusCpu-v3.8.3.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($AvailableMiner_Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } @@ -29,7 +29,7 @@ $Path = "$PWD\Bin\$Name\ccminer.exe" $DeviceEnumerator = "Type_Vendor_Index" $Algorithms = @( - [PSCustomObject]@{ Algorithm = "VerusHash"; MinerSet = 1; WarmupTimes = @(90, 300); ExcludePools = @("NiceHash"); Arguments = " --algo verus" } # SRBMinerMulti-v2.4.8 is fastest, but has 0.85% miner fee + [PSCustomObject]@{ Algorithm = "VerusHash"; MinerSet = 1; WarmupTimes = @(90, 300); ExcludePools = @("NiceHash"); Arguments = " --algo verus" } # SRBMinerMulti-v2.4.9 is fastest, but has 0.85% miner fee ) $Algorithms = $Algorithms.Where({ $_.MinerSet -le $Config.MinerSet }) @@ -40,10 +40,11 @@ $Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm].PoolPorts[0] }) If ($Algorithms) { $MinerAPIPort = $Config.APIPort + ($AvailableMiner_Devices.Id | Sort-Object -Top 1) + 1 - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" $Algorithms.ForEach( { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools })[-1])) { diff --git a/Miners/CcminerVerusGpu-v3.8.3.ps1 b/Miners/CcminerVerusGpu-v3.8.3.ps1 index f613b239..abe0800c 100644 --- a/Miners/CcminerVerusGpu-v3.8.3.ps1 +++ b/Miners/CcminerVerusGpu-v3.8.3.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "7.5" }))) { Return } @@ -49,11 +49,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - $Arguments = $_.Arguments If ($AvailableMiner_Devices.Where({ $_.MemoryGiB -le 2 })) { $Arguments = $Arguments -replace ' --intensity [0-9\.]+' } diff --git a/Miners/ClaymoreDualME-v2.7.ps1 b/Miners/ClaymoreDualME-v2.7.ps1 index f2e2f3b8..1d3f9ca3 100644 --- a/Miners/ClaymoreDualME-v2.7.ps1 +++ b/Miners/ClaymoreDualME-v2.7.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ ($_.Type -eq "AMD" -and $Variables.DriverVersion.CIM.AMD -le [Version]"20.45.01.28") -or $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } # Only supports AMD drivers until 20.12.1 @@ -48,12 +48,12 @@ If ($Algorithms) { ($Algorithms | Where-Object Type -EQ $_.Type).ForEach( { $ExcludePools = $_.ExcludePools - ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools }))) { + ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools -and $_.Epoch -le 600 }))) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Arguments = $_.Arguments $Arguments += Switch ($Pool.Protocol) { diff --git a/Miners/ClaymoreNeoscrypt-v1.2.ps1 b/Miners/ClaymoreNeoscrypt-v1.2.ps1 index 3b55bc86..8102a1fa 100644 --- a/Miners/ClaymoreNeoscrypt-v1.2.ps1 +++ b/Miners/ClaymoreNeoscrypt-v1.2.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -and $Variables.DriverVersion.CIM.AMD -lt [Version]"26.20.15011.10003" }))) { Return } @@ -51,11 +51,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture -and $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - # Disable dev fee mining If ($Config.DisableMinerFee) { $Arguments += " --nofee 1" diff --git a/Miners/CpuMiner-v1.4.ps1 b/Miners/CpuMiner-v1.4.ps1 index 0fbe5785..9b2ff1e9 100644 --- a/Miners/CpuMiner-v1.4.ps1 +++ b/Miners/CpuMiner-v1.4.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($AvailableMiner_Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } @@ -40,10 +40,11 @@ $Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm].PoolPorts[0] }) If ($Algorithms) { $MinerAPIPort = $Config.APIPort + ($AvailableMiner_Devices.Id | Sort-Object -Top 1) + 1 - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" $Algorithms.ForEach( { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools })[-1])) { diff --git a/Miners/CpuMinerAurum-v3.23.1.ps1 b/Miners/CpuMinerAurum-v3.23.1.ps1 index 66e05e6f..11fcbe2f 100644 --- a/Miners/CpuMinerAurum-v3.23.1.ps1 +++ b/Miners/CpuMinerAurum-v3.23.1.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($AvailableMiner_Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } @@ -48,10 +48,11 @@ $Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm].Name -notin $_.Ex If ($Algorithms) { $MinerAPIPort = $Config.APIPort + ($AvailableMiner_Devices.Id | Sort-Object -Top 1) + 1 - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" $Algorithms.ForEach( { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })[-1])) { diff --git a/Miners/CryptoDredge-v0.16.0.ps1 b/Miners/CryptoDredge-v0.16.0.ps1 index 23367a29..ee3266f9 100644 --- a/Miners/CryptoDredge-v0.16.0.ps1 +++ b/Miners/CryptoDredge-v0.16.0.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } @@ -61,11 +61,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture -and $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - $Arguments = $_.Arguments $Arguments += " --url stratum+tcp://$($Pool.Host):$($Pool.PoolPorts[0]) --user $($Pool.User)" If ($Pool.WorkerName -and $Pool.User -notmatch "\.$($Pool.WorkerName)$") { $Arguments += ".$($Pool.WorkerName)" } diff --git a/Miners/CryptoDredge-v0.27.0.ps1 b/Miners/CryptoDredge-v0.27.0.ps1 index adf08015..ca1b77fb 100644 --- a/Miners/CryptoDredge-v0.27.0.ps1 +++ b/Miners/CryptoDredge-v0.27.0.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" -and $_.Architecture -ne "Other" }))) { Return } @@ -71,7 +71,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" $Arguments = $_.Arguments $Arguments += " --url stratum+tcp://$($Pool.Host):$($Pool.PoolPorts[0]) --user $($Pool.User)" diff --git a/Miners/EthMiner-v0.19.0.18.ps1 b/Miners/EthMiner-v0.19.0.18.ps1 index bc617a34..b41b5342 100644 --- a/Miners/EthMiner-v0.19.0.18.ps1 +++ b/Miners/EthMiner-v0.19.0.18.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"9.1") }))) { Return } @@ -60,7 +60,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Pass = "$($Pool.Pass)" diff --git a/Miners/EvrProgPow-v1p3p0.ps1 b/Miners/EvrProgPow-v1p3p0.ps1 index 56660f3d..c57aa985 100644 --- a/Miners/EvrProgPow-v1p3p0.ps1 +++ b/Miners/EvrProgPow-v1p3p0.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } @@ -54,7 +54,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Protocol = Switch ($Pool.Protocol) { "ethproxy" { "stratum1"; Break } diff --git a/Miners/FrkHashMiner-v1.3.14.ps1 b/Miners/FrkHashMiner-v1.3.14.ps1 index 49e981c6..da3f2e62 100644 --- a/Miners/FrkHashMiner-v1.3.14.ps1 +++ b/Miners/FrkHashMiner-v1.3.14.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"9.1" }))) { Return } @@ -49,11 +49,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - [PSCustomObject]@{ API = "EthMiner" Arguments = "$($_.Arguments) --pool $(If ($Pool.PoolPorts[1]) { "stratums" } Else { "stratum" })://$([System.Web.HttpUtility]::UrlEncode("$($Pool.User)")):$([System.Web.HttpUtility]::UrlEncode("$($Pool.Pass)"))@$($Pool.Host):$($Pool.PoolPorts | Select-Object -Last 1) --exit --api-port -$MinerAPIPort --devices $(($AvailableMiner_Devices.$DeviceEnumerator | Sort-Object -Unique).ForEach({ '{0}' -f $_ }) -join ' ')" diff --git a/Miners/GMiner-v2.75.ps1 b/Miners/GMiner-v2.75.ps1 index 83bdee75..32e5a236 100644 --- a/Miners/GMiner-v2.75.ps1 +++ b/Miners/GMiner-v2.75.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> using module ..\Includes\Include.psm1 @@ -57,7 +57,7 @@ If ($Algorithms) { If ($_.Algorithm -match 'Cuckaroo.*|Cuckoo.*' -and [System.Environment]::OSVersion.Version -ge [Version]"10.0.0.0") { $MinMemGiB += 1 } If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Arguments = $_.Arguments $Arguments += " --server $($Pool.Host):$($Pool.PoolPorts | Select-Object -Last 1) --user $($Pool.User)" diff --git a/Miners/GMiner-v3.44.ps1 b/Miners/GMiner-v3.44.ps1 index 2b2d89fd..7ee96bcd 100644 --- a/Miners/GMiner-v3.44.ps1 +++ b/Miners/GMiner-v3.44.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> using module ..\Includes\Include.psm1 @@ -95,7 +95,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)$(If ($_.Algorithms[1]) { "-$($_.Algorithms[0])&$($_.Algorithms[1])" })" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })" $Arguments = $_.Arguments $Arguments += " --server $($Pool0.Host):$($Pool0.PoolPorts | Select-Object -Last 1)" diff --git a/Miners/HellMiner-v0.59.1.ps1 b/Miners/HellMiner-v0.59.1.ps1 index f8946bad..8b03d7d7 100644 --- a/Miners/HellMiner-v0.59.1.ps1 +++ b/Miners/HellMiner-v0.59.1.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($AvailableMiner_Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } @@ -42,10 +42,11 @@ $Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm].Name -notin $_.Ex If ($Algorithms) { $MinerAPIPort = $Config.APIPort + ($AvailableMiner_Devices.Id | Sort-Object -Top 1) + 1 - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" $Algorithms.ForEach( { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools })[-1])) { diff --git a/Miners/JayddeeCpu-v23.15.ps1 b/Miners/JayddeeCpu-v23.15.ps1 index 2ee00f3a..4324e79f 100644 --- a/Miners/JayddeeCpu-v23.15.ps1 +++ b/Miners/JayddeeCpu-v23.15.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($AvailableMiner_Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } @@ -64,10 +64,11 @@ $Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm].Name -notin $_.Ex If ($Algorithms) { $MinerAPIPort = $Config.APIPort + ($AvailableMiner_Devices.Id | Sort-Object -Top 1) + 1 - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" $Algorithms.ForEach( { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + If ($_.Algorithm -eq "VertHash" -and (Get-Item -Path $Variables.VerthashDatPath -ErrorAction Ignore).length -ne 1283457024) { $PrerequisitePath = $Variables.VerthashDatPath $PrerequisiteURI = "https://github.com/UselessGuru/UG-Miner-Extras/releases/download/VertHashDataFile/VertHash.dat" diff --git a/Miners/KawpowMiner-v1.2.4cl.ps1 b/Miners/KawpowMiner-v1.2.4cl.ps1 index 688d918e..fb95eced 100644 --- a/Miners/KawpowMiner-v1.2.4cl.ps1 +++ b/Miners/KawpowMiner-v1.2.4cl.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" }))) { Return } @@ -54,7 +54,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Protocol = Switch ($Pool.Protocol) { "ethproxy" { "stratum1" } diff --git a/Miners/KawpowMiner-v1.2.4cuda.ps1 b/Miners/KawpowMiner-v1.2.4cuda.ps1 index 8642a3e0..b6c0682d 100644 --- a/Miners/KawpowMiner-v1.2.4cuda.ps1 +++ b/Miners/KawpowMiner-v1.2.4cuda.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } @@ -54,7 +54,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Protocol = Switch ($Pool.Protocol) { "ethproxy" { "stratum1" } diff --git a/Miners/Kudaraidee-v1.2.0a.ps1 b/Miners/Kudaraidee-v1.2.0a.ps1 index 51351e85..230bb526 100644 --- a/Miners/Kudaraidee-v1.2.0a.ps1 +++ b/Miners/Kudaraidee-v1.2.0a.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Vendor -ne "CPU" -or $_.CUDAVersion -ge [Version]"10.2" }))) { Return } @@ -60,11 +60,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - $BlockSize = $_.BlockSize # 1 GB memory reserve, then 1 thread per 4GB $Threads = [Math]::Ceiling(($AvailableMiner_Devices | ForEach-Object { ($_.MemoryGiB - 1) / 4 } | Measure-Object -Minimum | Select-Object -ExpandProperty Minimum)) diff --git a/Miners/MiniZ-v2.3c.ps1 b/Miners/MiniZ-v2.3c.ps1 index a471b0aa..7aab7708 100644 --- a/Miners/MiniZ-v2.3c.ps1 +++ b/Miners/MiniZ-v2.3c.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> using module ..\Includes\Include.psm1 @@ -98,7 +98,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Arguments = $_.Arguments $Arguments += " --url=$(If ($Pool.PoolPorts[1]) { "ssl://" } )$($Pool.User)@$($Pool.Host):$($Pool.PoolPorts | Select-Object -Last 1)" diff --git a/Miners/NBMiner-v42.3.ps1 b/Miners/NBMiner-v42.3.ps1 index d4c807ed..a0f0447a 100644 --- a/Miners/NBMiner-v42.3.ps1 +++ b/Miners/NBMiner-v42.3.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"10.0") } ))) { Return } @@ -34,13 +34,13 @@ $Algorithms = @( [PSCustomObject]@{ Algorithm = "Ethash"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.20; AdditionalWin10MemGB = 0; MinerSet = 2; WarmupTimes = @(45, 40); ExcludePools = @(); Arguments = " --algo ethash --platform 2" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool [PSCustomObject]@{ Algorithm = "KawPow"; Type = "AMD"; Fee = @(0.02); MinMemGiB = 1.20; AdditionalWin10MemGB = 0; MinerSet = 2; WarmupTimes = @(45, 0); ExcludePools = @(); Arguments = " --algo kawpow --platform 2" } # XmRig-v6.17.0 is almost as fast but has no fee - [PSCustomObject]@{ Algorithm = "BeamV3"; Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 3; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 0; Tuning = " -mt 1"; WarmupTimes = @(30, 40); ExcludePools = @(); Arguments = " --algo beamv3 --platform 1" } - [PSCustomObject]@{ Algorithm = "Cuckoo29"; Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 5; AdditionalWin10MemGB = 1; MinComputeCapability = 6.0; MinerSet = 1; Tuning = " -mt 1"; WarmupTimes = @(30, 30); ExcludePools = @(); Arguments = " --algo cuckoo_ae --platform 1" } # GMiner-v3.44 is fastest - [PSCustomObject]@{ Algorithm = "Autolykos2"; Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 1.20; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 1; Tuning = " -mt 1"; WarmupTimes = @(30, 0); ExcludePools = @(); Arguments = " --algo ergo --platform 1" } - [PSCustomObject]@{ Algorithm = "EtcHash"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.20; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 2; Tuning = " -mt 1"; WarmupTimes = @(45, 0); ExcludePools = @(); Arguments = " --algo etchash --platform 1 --enable-dag-cache" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool - [PSCustomObject]@{ Algorithm = "Ethash"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.20; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 2; Tuning = " -mt 1"; WarmupTimes = @(60, 0); ExcludePools = @(); Arguments = " --algo ethash --platform 1 --enable-dag-cache" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool - [PSCustomObject]@{ Algorithm = "KawPow"; Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 1.20; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 2; Tuning = " -mt 1"; WarmupTimes = @(45, 10); ExcludePools = @(); Arguments = " --algo kawpow --platform 1" } # XmRig-v6.17.0 is almost as fast but has no fee - [PSCustomObject]@{ Algorithm = "Octopus"; Type = "NVIDIA"; Fee = @(0.03); MinMemGiB = 1.20; AdditionalWin10MemGB = 1; MinComputeCapability = 6.1; MinerSet = 2; Tuning = " -mt 1"; WarmupTimes = @(45, 0); ExcludePools = @(); Arguments = " --algo octopus --platform 1" } # Trex-v0.26.8 is fastest + [PSCustomObject]@{ Algorithm = "BeamV3"; Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 3; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 0; Tuning = " -mt 1"; WarmupTimes = @(30, 40); ExcludePools = @("NiceHash"); Arguments = " --algo beamv3 --platform 1" } + [PSCustomObject]@{ Algorithm = "Cuckoo29"; Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 5; AdditionalWin10MemGB = 1; MinComputeCapability = 6.0; MinerSet = 1; Tuning = " -mt 1"; WarmupTimes = @(30, 30); ExcludePools = @(); Arguments = " --algo cuckoo_ae --platform 1" } # GMiner-v3.44 is fastest + [PSCustomObject]@{ Algorithm = "Autolykos2"; Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 1.20; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 1; Tuning = " -mt 1"; WarmupTimes = @(30, 0); ExcludePools = @(); Arguments = " --algo ergo --platform 1" } + [PSCustomObject]@{ Algorithm = "EtcHash"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.20; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 2; Tuning = " -mt 1"; WarmupTimes = @(45, 0); ExcludePools = @(); Arguments = " --algo etchash --platform 1 --enable-dag-cache" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool + [PSCustomObject]@{ Algorithm = "Ethash"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.20; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 2; Tuning = " -mt 1"; WarmupTimes = @(60, 0); ExcludePools = @(); Arguments = " --algo ethash --platform 1 --enable-dag-cache" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool + [PSCustomObject]@{ Algorithm = "KawPow"; Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 1.20; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 2; Tuning = " -mt 1"; WarmupTimes = @(45, 10); ExcludePools = @(); Arguments = " --algo kawpow --platform 1" } # XmRig-v6.17.0 is almost as fast but has no fee + [PSCustomObject]@{ Algorithm = "Octopus"; Type = "NVIDIA"; Fee = @(0.03); MinMemGiB = 1.20; AdditionalWin10MemGB = 1; MinComputeCapability = 6.1; MinerSet = 2; Tuning = " -mt 1"; WarmupTimes = @(45, 0); ExcludePools = @(); Arguments = " --algo octopus --platform 1" } # Trex-v0.26.8 is fastest ) $Algorithms = $Algorithms.Where({ $_.MinerSet -le $Config.MinerSet }) @@ -67,7 +67,7 @@ If ($Algorithms) { If ([System.Environment]::OSVersion.Version -ge [Version]"10.0.0.0") { $MinMemGiB += $_.AdditionalWin10MemGB } If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Arguments = $_.Arguments $Arguments += Switch ($Pool.Protocol) { diff --git a/Miners/NSFMiner-v1.3.14.ps1 b/Miners/NSFMiner-v1.3.14.ps1 index f1d5547d..a77500a6 100644 --- a/Miners/NSFMiner-v1.3.14.ps1 +++ b/Miners/NSFMiner-v1.3.14.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"9.1") } ))) { Return } @@ -60,7 +60,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Pass = "$($Pool.Pass)" diff --git a/Miners/NanoMiner-v3.8.12.ps1 b/Miners/NanoMiner-v3.8.12.ps1 index 6e3ae513..af391fc4 100644 --- a/Miners/NanoMiner-v3.8.12.ps1 +++ b/Miners/NanoMiner-v3.8.12.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -ne "NVIDIA" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge [Version]"455.23") }))) { Return } @@ -107,7 +107,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.Type -eq "CPU" -or $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)$(If ($_.Algorithms[1]) { "-$($_.Algorithms[0])&$($_.Algorithms[1])" })" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })" $Arguments = "" ForEach ($Pool in $Pools) { diff --git a/Miners/Ninjarig-1.0.3.ps1 b/Miners/Ninjarig-1.0.3.ps1 index 2f29e994..04cc7ce0 100644 --- a/Miners/Ninjarig-1.0.3.ps1 +++ b/Miners/Ninjarig-1.0.3.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } @@ -43,10 +43,10 @@ If ($Algorithms) { If ($AvailableMiner_Devices = $Devices | Where-Object Model -EQ $_.Model) { $MinerAPIPort = $Config.APIPort + ($AvailableMiner_Devices.Id | Sort-Object -Top 1) + 1 - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - $Algorithms.ForEach( { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools }))) { diff --git a/Miners/NosuchCpu-v3.8.8.1.ps1 b/Miners/NosuchCpu-v3.8.8.1.ps1 index a0face78..da3b56d5 100644 --- a/Miners/NosuchCpu-v3.8.8.1.ps1 +++ b/Miners/NosuchCpu-v3.8.8.1.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($AvailableMiner_Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } @@ -44,10 +44,10 @@ $Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm].PoolPorts[0] }) If ($Algorithms) { $MinerAPIPort = $Config.APIPort + ($AvailableMiner_Devices.Id | Sort-Object -Top 1) + 1 - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - $Algorithms.ForEach( { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools })[-1])) { diff --git a/Miners/OneZeroMiner-v1.3.0.ps1 b/Miners/OneZeroMiner-v1.3.0.ps1 index 57fc0220..9a3371c8 100644 --- a/Miners/OneZeroMiner-v1.3.0.ps1 +++ b/Miners/OneZeroMiner-v1.3.0.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "NVIDIA" -and $_.OpenCL.DriverVersion -ge [Version]"450.80.02" }))) { Return } @@ -49,11 +49,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.Architecture -notin $ExcludeArchitecture -and $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - [PSCustomObject]@{ API = "OneZero" Arguments = "$($_.Arguments) --pool $(If ($Pool.PoolPorts[1]) { "ssl://" })$($Pool.Host):$($Pool.PoolPorts | Select-Object -Last 1) --wallet $($Pool.User) --pass $($Pool.Pass)$(If ($Pool.PoolPorts[1] -and $Config.SSLAllowSelfSignedCertificate) { " --no-cert-validation" } ) --api-port $MinerAPIPort --devices $(($AvailableMiner_Devices.$DeviceEnumerator | Sort-Object -Unique).ForEach({ '{0:x}' -f $_ }) -join ',')" diff --git a/Miners/PhoenixMiner-v6.2c.ps1 b/Miners/PhoenixMiner-v6.2c.ps1 index 94b0ef8e..8fd38621 100644 --- a/Miners/PhoenixMiner-v6.2c.ps1 +++ b/Miners/PhoenixMiner-v6.2c.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } @@ -98,7 +98,7 @@ If ($Algorithms) { If ($AvailableMiner_Devices) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)$(If ($_.Algorithms[1]) { "-$($_.Algorithms[0])&$($_.Algorithms[1])" })$(If ($_.Intensity) { "-$($_.Intensity)" })" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })$(If ($_.Intensity) { "-$($_.Intensity)" })" $Arguments = $_.Arguments $Arguments += " -pool $(If ($Pool0.PoolPorts[1]) { "ssl://" })$($Pool0.Host):$($Pool0.PoolPorts | Select-Object -Last 1) -wal $($Pool0.User)" diff --git a/Miners/Radiator-v1.0.0.ps1 b/Miners/Radiator-v1.0.0.ps1 index 52fd0a6a..28fa044a 100644 --- a/Miners/Radiator-v1.0.0.ps1 +++ b/Miners/Radiator-v1.0.0.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } @@ -50,16 +50,16 @@ If ($Algorithms) { $MinerAPIPort = $Config.APIPort + ($Miner_Devices.Id | Sort-Object -Top 1) + 1 $Algorithms.ForEach( - { + { $ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture -and $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - $Arguments = $_.Arguments If ($AvailableMiner_Devices.Where({ $_.MemoryGiB -le 2 })) { $Arguments = $Arguments -replace ' --intensity [0-9\.]+' } diff --git a/Miners/Raptor3umCpu-v2.0.ps1 b/Miners/Raptor3umCpu-v2.0.ps1 index 9a5ad973..b7e533c0 100644 --- a/Miners/Raptor3umCpu-v2.0.ps1 +++ b/Miners/Raptor3umCpu-v2.0.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($AvailableMiner_Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } @@ -45,10 +45,11 @@ If ($Algorithms) { Else { Return } $MinerAPIPort = $Config.APIPort + ($AvailableMiner_Devices.Id | Sort-Object -Top 1) + 1 - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" $Algorithms.ForEach( { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })[-1])) { diff --git a/Miners/Rigel-v1.15.0.ps1 b/Miners/Rigel-v1.15.0.ps1 index dc5f75a8..2cdc423d 100644 --- a/Miners/Rigel-v1.15.0.ps1 +++ b/Miners/Rigel-v1.15.0.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> # Return @@ -107,7 +107,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)$(If ($_.Algorithms[1]) { "-$($_.Algorithms[0])&$($_.Algorithms[1])" })" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })" $Arguments = $_.Arguments If ($Pool0.Currency -in @("AIPG", "CLORE", "ETHW", "NEOX", "OCTA", "RVN", "XNA", "XPB")) { $Arguments += " --coin $($Pool0.Currency.ToLower())" } diff --git a/Miners/RplantCpu-v5.0.34.ps1 b/Miners/RplantCpu-v5.0.34.ps1 index 10f3a30f..0ec0e0d7 100644 --- a/Miners/RplantCpu-v5.0.34.ps1 +++ b/Miners/RplantCpu-v5.0.34.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($AvailableMiner_Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } @@ -117,10 +117,11 @@ $Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm].Name -notin $_.Ex If ($Algorithms) { $MinerAPIPort = $Config.APIPort + ($AvailableMiner_Devices.Id | Sort-Object -Top 1) + 1 - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" $Algorithms.ForEach( { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })[-1])) { diff --git a/Miners/RrkzCpu-v4.2.ps1 b/Miners/RrkzCpu-v4.2.ps1 index 3b235e94..0385d434 100644 --- a/Miners/RrkzCpu-v4.2.ps1 +++ b/Miners/RrkzCpu-v4.2.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($AvailableMiner_Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } @@ -39,10 +39,11 @@ $Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm].Name -notin $_.Ex If ($Algorithms) { $MinerAPIPort = $Config.APIPort + ($AvailableMiner_Devices.Id | Sort-Object -Top 1) + 1 - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" $Algorithms.ForEach( { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })[-1])) { diff --git a/Miners/SRBMinerMulti-v0.9.4.ps1 b/Miners/SRBMinerMulti-v0.9.4.ps1 index e458a682..aa0a4dfe 100644 --- a/Miners/SRBMinerMulti-v0.9.4.ps1 +++ b/Miners/SRBMinerMulti-v0.9.4.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -and $_.Architecture -eq "Other" }))) { Return } @@ -93,7 +93,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -gt $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Arguments = $_.Arguments $Arguments += Switch ($Pool.Protocol) { diff --git a/Miners/SRBMinerMulti-v2.4.8.ps1 b/Miners/SRBMinerMulti-v2.4.9.ps1 similarity index 98% rename from Miners/SRBMinerMulti-v2.4.8.ps1 rename to Miners/SRBMinerMulti-v2.4.9.ps1 index a7756449..e45cfbb1 100644 --- a/Miners/SRBMinerMulti-v2.4.8.ps1 +++ b/Miners/SRBMinerMulti-v2.4.9.ps1 @@ -17,13 +17,13 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" -or $_.Type -eq "INTEL" -or ($_.Type -eq "AMD" -and $_.OpenCL.ClVersion -ge "OpenCL C 2.0") -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge "510.00") }))) { Return } -$URI = "https://github.com/doktor83/SRBMiner-Multi/releases/download/2.4.8/SRBMiner-Multi-2-4-8-win64.zip" +$URI = "https://github.com/doktor83/SRBMiner-Multi/releases/download/2.4.9/SRBMiner-Multi-2-4-9-win64.zip" $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "$PWD\Bin\$Name\SRBMiner-MULTI.exe" $DeviceEnumerator = "Type_Vendor_Slot" @@ -82,6 +82,7 @@ $Algorithms = @( [PSCustomObject]@{ Algorithms = @("Lyra2v2Webchain"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm lyra2v2_webchain") } [PSCustomObject]@{ Algorithms = @("MemeHash"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm memehash") } [PSCustomObject]@{ Algorithms = @("ProgPowEpic"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm progpow_epic") } + [PSCustomObject]@{ Algorithms = @("MeowPow"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm meowpow") } [PSCustomObject]@{ Algorithms = @("ProgPowSero"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm progpow_sero") } [PSCustomObject]@{ Algorithms = @("ProgPowVeil"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm progpow_veil") } [PSCustomObject]@{ Algorithms = @("ProgPowVeriblock"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm progpow_veriblock") } @@ -178,6 +179,7 @@ $Algorithms = @( [PSCustomObject]@{ Algorithms = @("IronFish"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("NiceHash"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm blake3_ironfish") } [PSCustomObject]@{ Algorithms = @("KawPow"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm kawpow") } [PSCustomObject]@{ Algorithms = @("MemeHash"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm memehash") } + [PSCustomObject]@{ Algorithms = @("MeowPow"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm meowpow") } [PSCustomObject]@{ Algorithms = @("ProgPowEpic"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm progpow_epic") } [PSCustomObject]@{ Algorithms = @("ProgPowSero"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm progpow_sero") } [PSCustomObject]@{ Algorithms = @("ProgPowVeil"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm progpow_veil") } @@ -226,7 +228,8 @@ $Algorithms = @( [PSCustomObject]@{ Algorithms = @("IronFish"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("NiceHash"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm blake3_ironfish") } [PSCustomObject]@{ Algorithms = @("KawPow"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm kawpow") } [PSCustomObject]@{ Algorithms = @("Lyra2v2Webchain"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm lyra2v2_webchain") } - [PSCustomObject]@{ Algorithms = @("MemeHash"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm memehash") } + [PSCustomObject]@{ Algorithms = @("MemeHash"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm memehash") } + [PSCustomObject]@{ Algorithms = @("MeowPow"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm meowpow") } [PSCustomObject]@{ Algorithms = @("ProgPowEpic"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm progpow_epic") } [PSCustomObject]@{ Algorithms = @("ProgPowSero"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm progpow_sero") } [PSCustomObject]@{ Algorithms = @("ProgPowVeil"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm progpow_veil") } @@ -288,7 +291,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.Type -eq "CPU" -or $_.MemoryGiB -gt $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)$(If ($_.Algorithms[1]) { "-$($_.Algorithms[0])&$($_.Algorithms[1])" })$(If ($_.GpuDualMaxLoss) { "-$($_.GpuDualMaxLoss)" })" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })$(If ($_.GpuDualMaxLoss) { "-$($_.GpuDualMaxLoss)" })" $Arguments = "" ForEach ($Pool in $Pools) { diff --git a/Miners/SgMinerFancyIX-v0.9.4.ps1 b/Miners/SgMinerFancyIX-v0.9.4.ps1 index 6e3fd96e..eeeb224e 100644 --- a/Miners/SgMinerFancyIX-v0.9.4.ps1 +++ b/Miners/SgMinerFancyIX-v0.9.4.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" }))) { Return } @@ -29,11 +29,11 @@ $Path = "$PWD\Bin\$Name\sgminer.exe" $DeviceEnumerator = "Type_Vendor_Index" $Algorithms = @( - [PSCustomObject]@{ Algorithm = "0x10"; MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(); ExcludeGPUArchitecture = @(); Arguments = " --scan-time 1 --gpu-threads 1 --worksize 256 --intensity 17 --kernel chainox" } - [PSCustomObject]@{ Algorithm = "HeavyHash"; MinMemGiB = 2; MinerSet = 1; WarmupTimes = @(60, 0); ExcludePools = @("ZergPool"); ExcludeGPUArchitecture = @("RDNA1"); Arguments = " --scan-time 1 --gpu-threads 1 --worksize 256 --intensity 23 --kernel heavyhash" } # FPGA - [PSCustomObject]@{ Algorithm = "Neoscrypt"; MinMemGiB = 2; MinerSet = 0; WarmupTimes = @(60, 0); ExcludePools = @("ZergPool"); ExcludeGPUArchitecture = @(); Arguments = " --scan-time 1 --gpu-threads 1 --worksize 256 --intensity 17 --kernel neoscrypt" } # FPGA - [PSCustomObject]@{ Algorithm = "NeoscryptXaya"; MinMemGiB = 2; MinerSet = 0; WarmupTimes = @(60, 0); ExcludePools = @("ZergPool"); ExcludeGPUArchitecture = @(); Arguments = " --scan-time 1 --gpu-threads 1 --worksize 256 --intensity 17 --kernel neoscrypt-xaya" } -# [PSCustomObject]@{ Algorithm = "YescryptR16"; MinMemGiB = 2; MinerSet = 0; WarmupTimes = @(60, 0); ExcludePools = @(); ExcludeGPUArchitecture = @(); Arguments = " --scan-time 1 --gpu-threads 1 --worksize 256 --intensity 20 --pool-nfactor 100 --kernel yescryptr16" } # Invalid hash rate + [PSCustomObject]@{ Algorithm = "0x10"; MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(60, 30); ExcludePools = @(); ExcludeGPUArchitecture = @(); Arguments = " --scan-time 1 --gpu-threads 1 --worksize 256 --intensity 17 --kernel chainox" } + [PSCustomObject]@{ Algorithm = "HeavyHash"; MinMemGiB = 2; MinerSet = 1; WarmupTimes = @(60, 30); ExcludePools = @("ZergPool"); ExcludeGPUArchitecture = @("RDNA1"); Arguments = " --scan-time 1 --gpu-threads 1 --worksize 256 --intensity 23 --kernel heavyhash" } # FPGA + [PSCustomObject]@{ Algorithm = "Neoscrypt"; MinMemGiB = 2; MinerSet = 0; WarmupTimes = @(60, 30); ExcludePools = @("ZergPool"); ExcludeGPUArchitecture = @(); Arguments = " --scan-time 1 --gpu-threads 1 --worksize 256 --intensity 17 --kernel neoscrypt" } # FPGA + [PSCustomObject]@{ Algorithm = "NeoscryptXaya"; MinMemGiB = 2; MinerSet = 0; WarmupTimes = @(60, 30); ExcludePools = @("ZergPool"); ExcludeGPUArchitecture = @(); Arguments = " --scan-time 1 --gpu-threads 1 --worksize 256 --intensity 17 --kernel neoscrypt-xaya" } + [PSCustomObject]@{ Algorithm = "YescryptR16"; MinMemGiB = 2; MinerSet = 0; WarmupTimes = @(60, 30); ExcludePools = @(); ExcludeGPUArchitecture = @("GCN4"); Arguments = " --scan-time 1 --gpu-threads 1 --worksize 256 --intensity 20 --pool-nfactor 100 --kernel yescryptr16" } ) $Algorithms = $Algorithms.Where({ $_.MinerSet -le $Config.MinerSet }) @@ -50,19 +50,20 @@ If ($Algorithms) { $Algorithms.ForEach( { - $ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture + $ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture -and $_.MemoryGiB -ge $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - [PSCustomObject]@{ API = "Xgminer" Arguments = "$($_.Arguments) --url stratum+tcp://$($Pool.Host):$($Pool.PoolPorts[0]) --user $($Pool.User) --pass $($Pool.Pass) --api-listen --api-port $MinerAPIPort --gpu-platform $($AvailableMiner_Devices.PlatformId | Sort-Object -Unique) --device $(($AvailableMiner_Devices.$DeviceEnumerator | Sort-Object -Unique).ForEach({ '{0:x}' -f $_ }) -join ',')" DeviceNames = $AvailableMiner_Devices.Name + EnvVars = @("GPU_MAX_ALLOC_PERCENT=100") Fee = @(0) # Dev fee MinerSet = $_.MinerSet Name = $Miner_Name diff --git a/Miners/Suprminer-v2.31v2.ps1 b/Miners/Suprminer-v2.31v2.ps1 index 6197ae62..412cda0d 100644 --- a/Miners/Suprminer-v2.31v2.ps1 +++ b/Miners/Suprminer-v2.31v2.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } @@ -52,10 +52,10 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $ExcludePools = $_.ExcludePools - ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools}))) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $ExcludePools = $_.ExcludePools + ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools}))) { $Arguments = $_.Arguments If ($AvailableMiner_Devices.Count -gt 1) { $_.Arguments += " --intensity 15"} # Default intensities too high if more than one GPU diff --git a/Miners/TTMiner-v2024.1.3.ps1 b/Miners/TTMiner-v2024.1.6.ps1 similarity index 96% rename from Miners/TTMiner-v2024.1.3.ps1 rename to Miners/TTMiner-v2024.1.6.ps1 index 9aff9470..a34af200 100644 --- a/Miners/TTMiner-v2024.1.3.ps1 +++ b/Miners/TTMiner-v2024.1.6.ps1 @@ -17,14 +17,14 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -gt "5.0" } ))) { Return } $URI = Switch ($Variables.DriverVersion.CUDA) { - { $_ -ge "11.0" } { "https://github.com/TrailingStop/TT-Miner-release/releases/download/2024.1.3/TT-Miner-2024.1.3.zip" } + { $_ -ge "11.0" } { "https://github.com/TrailingStop/TT-Miner-release/releases/download/2024.1.6/TT-Miner-2024.1.6.zip" } Default { Return } } $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName @@ -43,13 +43,14 @@ $Algorithms = @( [PSCustomObject]@{ Algorithm = "KawPow"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a KawPow" } # [PSCustomObject]@{ Algorithm = "Mike"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(180, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a Mike" } # Not working # [PSCustomObject]@{ Algorithm = "MemeHash"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(120, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a Memehash" } # Not yet working + [PSCustomObject]@{ Algorithm = "MeowPow"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(120, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a meowpow" } [PSCustomObject]@{ Algorithm = "ProgPowEpic"; Fee = @(0.02); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c EPIC" } [PSCustomObject]@{ Algorithm = "ProgPowSero"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c SERO" } [PSCustomObject]@{ Algorithm = "ProgPowVeil"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c VEIL" } [PSCustomObject]@{ Algorithm = "ProgPowZ"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c ZANO" } [PSCustomObject]@{ Algorithm = "ProgPowVeriblock"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a vProgPow" } # [PSCustomObject]@{ Algorithm = "SHA256d"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a SHA256D" } # ASIC - [PSCustomObject]@{ Algorithm = "SHA256dt"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a SHA256DT" } + [PSCustomObject]@{ Algorithm = "SHA256dt"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a SHA256DT" } [PSCustomObject]@{ Algorithm = "SHA3D"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a Sha3D" } [PSCustomObject]@{ Algorithm = "SHA512256d"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a SHA512256D" } [PSCustomObject]@{ Algorithm = "SHA3Solidity"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a SHA3SOL" } @@ -79,7 +80,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" If ($Pool.Currency -in @("AKA", "ALPH", "ALT", "ARL", "AVS", "BBC", "BCH", "BLACK", "BTC", "BTRM", "BUT", "CLO", "CLORE", "EGEM", "ELH", "EPIC", "ETC", "ETI", "ETHF", "ETHO", "ETHW", "ETP", "EVOX", "EVR", "EXP", "FIRO", "FITA", "FRENS", "GRAMS", "GSPC", "HVQ", "JGC", "KAW", "KCN", "KIIRO", "LAB", "LTR", "MEWC", "NAPI", "NEOX", "NIR", "NOVO", "OCTA", "PAPRY", "PRCO", "REDE", "RTH", "RTM", "RVN", "SATO", "SATOX", "SCC", "SERO", "THOON", "TTM", "UBQ", "VBK", "VEIL", "VKAX", "VLC", "VTE", "XD", "XNA", "YERB", "ZANO", "ZELS", "ZIL")) { $Arguments = "$($_.Arguments -replace ' -[a|c] \w+') -c $($Pool.Currency)" diff --git a/Miners/TTMiner-v5.0.3.ps1 b/Miners/TTMiner-v5.0.3.ps1 index a603b6ac..c43228c6 100644 --- a/Miners/TTMiner-v5.0.3.ps1 +++ b/Miners/TTMiner-v5.0.3.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } @@ -66,7 +66,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB }) ) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Arguments = $_.Arguments If ($Pool.Currency -in @("CLO", "ETC", "ETH", "ETP", "EXP", "MUSIC", "PIRL", "RVN", "TCR", "UBQ", "VBK", "ZANO", "ZCOIN", "ZELS")) { diff --git a/Miners/TeamBlackMiner-v2.20.ps1 b/Miners/TeamBlackMiner-v2.21.ps1 similarity index 98% rename from Miners/TeamBlackMiner-v2.20.ps1 rename to Miners/TeamBlackMiner-v2.21.ps1 index 264cafc9..7eefaa61 100644 --- a/Miners/TeamBlackMiner-v2.20.ps1 +++ b/Miners/TeamBlackMiner-v2.21.ps1 @@ -17,13 +17,13 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"11.6") }))) { Return } -$URI = "https://github.com/sp-hash/TeamBlackMiner/releases/download/v2.20/TeamBlackMiner_2_20_cuda_12_0.7z" +$URI = "https://github.com/sp-hash/TeamBlackMiner/releases/download/v2.21/TeamBlackMiner_2_21_cuda_12_2.7z" $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "$PWD\Bin\$Name\TBMiner.exe" @@ -104,7 +104,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)$(If ($_.Algorithms[1]) { "-$($_.Algorithms[0])&$($_.Algorithms[1])" })$(If ($_.Intensity) { "-$($_.Intensity)" })" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })$(If ($_.Intensity) { "-$($_.Intensity)" })" $Arguments = $_.Arguments $Arguments += " --hostname $($Pool0.Host)" diff --git a/Miners/TeamRedMiner-v0.10.18.ps1 b/Miners/TeamRedMiner-v0.10.18.ps1 index da846cf4..53966034 100644 --- a/Miners/TeamRedMiner-v0.10.18.ps1 +++ b/Miners/TeamRedMiner-v0.10.18.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -and $_.OpenCL.ClVersion -ge "OpenCL C 2.0" }))) { Return } @@ -112,7 +112,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)$(If ($_.Algorithms[1]) { "-$($_.Algorithms[0])&$($_.Algorithms[1])" })" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })" $Arguments = $_.Arguments $Arguments += " --pool_force_ensub --url=$(If ($Pool0.PoolPorts[1]) { "stratum+ssl" } Else { "stratum+tcp" })://$($Pool0.Host):$($Pool0.PoolPorts | Select-Object -Last 1)" diff --git a/Miners/Trex-v0.26.8.ps1 b/Miners/Trex-v0.26.8.ps1 index 8bfe4a7b..392ca514 100644 --- a/Miners/Trex-v0.26.8.ps1 +++ b/Miners/Trex-v0.26.8.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } @@ -75,7 +75,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)$(If ($_.Algorithms[1]) { "-$($_.Algorithms[0])&$($_.Algorithms[1])" })" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })" If ($AvailableMiner_Devices.Where({ $_.MemoryGiB -le 2 })) { $Arguments = $Arguments -replace ' --intensity [0-9\.]+' } diff --git a/Miners/Wildrig-v0.40.5.ps1 b/Miners/Wildrig-v0.40.5.ps1 index b3809c26..bc2d8e56 100644 --- a/Miners/Wildrig-v0.40.5.ps1 +++ b/Miners/Wildrig-v0.40.5.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ ($_.Type -eq "AMD" -and $_.OpenCL.ClVersion -ge "OpenCL C 1.2") -or $_.Type -eq "INTEL" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge [Version]"452.39.00") }))) { Return } @@ -278,7 +278,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" [PSCustomObject]@{ API = "XmRig" diff --git a/Miners/XmRig-v6.20.0.ps1 b/Miners/XmRig-v6.20.0.ps1 index 064c104d..90b02e8c 100644 --- a/Miners/XmRig-v6.20.0.ps1 +++ b/Miners/XmRig-v6.20.0.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -in @("AMD", "CPU") -or $_.OpenCL.ComputeCapability -gt "5.0" }))) { Return } @@ -155,7 +155,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.Type -eq "CPU" -or $_.MemoryGiB -gt $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Arguments = $_.Arguments If ($_.Type -eq "CPU") { $Arguments += " --threads=$($AvailableMiner_Devices.CIM.NumberOfLogicalProcessors -1)" } diff --git a/Miners/XmrStak-v2.10.8.ps1 b/Miners/XmrStak-v2.10.8.ps1 index 50afcd7d..bf394772 100644 --- a/Miners/XmrStak-v2.10.8.ps1 +++ b/Miners/XmrStak-v2.10.8.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.ComputeCapability -lt "8.6" }))) { Return } @@ -111,11 +111,11 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.Type -eq "CPU" -or $_.MemoryGiB -gt $MinMemGiB })) { + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($_.Algorithm)" + $ExcludePools = $_.ExcludePools ForEach ($Pool in ($MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools }) | Select-Object -Last $(If ($_.Type -eq "CPU") { 1 } Else { $MinerPools[0][$_.Algorithm].Count }))) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" - # Note: For fine tuning directly edit the config files in the miner binary directory $ConfigFileName = [System.Web.HttpUtility]::UrlEncode("$((@("Config") + @($_.Type) + @(($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices.Where({ $_.Model -EQ $Model })).Count)x$Model($((($AvailableMiner_Devices | Sort-Object Name).Where({ $_.Model -eq $Model })).Name -join ';'))" } | Select-Object) -join '-') + @($MinerAPIPort) | Select-Object) -join '-').txt") $MinerThreadsConfigFileName = [System.Web.HttpUtility]::UrlEncode("$((@("ThreadsConfig") + @($_.Type) + @($_.Algorithm) + @(($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices.Where({ $_.Model -EQ $Model })).Count)x$Model($((($AvailableMiner_Devices | Sort-Object Name).Where({ $_.Model -eq $Model })).Name -join ';'))" } | Select-Object) -join '-') | Select-Object) -join '-').txt") diff --git a/Miners/ZealotEnemy-v2.6.2.ps1 b/Miners/ZealotEnemy-v2.6.2.ps1 index 936e7a59..1f3c24dd 100644 --- a/Miners/ZealotEnemy-v2.6.2.ps1 +++ b/Miners/ZealotEnemy-v2.6.2.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -gt "5.0" }))) { Return } @@ -79,7 +79,7 @@ If ($Algorithms) { If ($_.Algorithm -eq "KawPow" -and $MinMemGB -lt 2) { $MinMemGiB = 4 } # No hash rates in time for GPUs with 2GB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Arguments = $_.Arguments If ($AvailableMiner_Devices.Where({ $_.MemoryGiB -le 2 })) { $Arguments = $Arguments -replace ' --intensity [0-9\.]+' } diff --git a/Miners/ZealotEnemy-v2.6.3.ps1 b/Miners/ZealotEnemy-v2.6.3.ps1 index 5725e676..caf070f9 100644 --- a/Miners/ZealotEnemy-v2.6.3.ps1 +++ b/Miners/ZealotEnemy-v2.6.3.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } @@ -75,7 +75,7 @@ If ($Algorithms) { If ($_.Algorithm -eq "KawPow" -and $MinMemGB -lt 2) { $MinMemGiB = 4 } # No hash rates in time for GPUs with 2GB If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)" $Arguments = $_.Arguments If ($AvailableMiner_Devices.Where({ $_.MemoryGiB -le 2 })) { $Arguments = $Arguments -replace ' --intensity [0-9\.]+' } diff --git a/Miners/lolMiner-v1.84.ps1 b/Miners/lolMiner-v1.84.ps1 index 9a17762a..8bb5af7d 100644 --- a/Miners/lolMiner-v1.84.ps1 +++ b/Miners/lolMiner-v1.84.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "INTEL" -or ($_.Type -eq "AMD" -and $_.Architecture -match "GCN4|RDNA[1|2|3]") -or $_.OpenCL.ComputeCapability -ge "6.0"} ))) { Return } @@ -163,7 +163,7 @@ If ($Algorithms) { If ($_.Algorithms[0] -match '^Cuckaroo.*$|^Cuckoo.*$' -and ([System.Environment]::OSVersion.Version -ge [Version]"10.0.0.0")) { $MinMemGiB += 1 } If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { - $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)$(If ($_.Algorithms[1]) { "-$($_.Algorithms[0])&$($_.Algorithms[1])" })$(If ($_.MaxDualImpact -gt 0) { "-$($_.MaxDualImpact)" })" + $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })$(If ($_.MaxDualImpact -gt 0) { "-$($_.MaxDualImpact)" })" $Arguments = $_.Arguments $Arguments += " --pool $($Pool0.Host):$(($Pool0.PoolPorts | Select-Object -Last 1))" diff --git a/Pools/HashCryptos.ps1 b/Pools/HashCryptos.ps1 index 71fd3682..b87d5594 100644 --- a/Pools/HashCryptos.ps1 +++ b/Pools/HashCryptos.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\HashCryptos.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> param( diff --git a/Pools/HiveON.ps1 b/Pools/HiveON.ps1 index f6acd45b..4f46b881 100644 --- a/Pools/HiveON.ps1 +++ b/Pools/HiveON.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\Hiveon.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> param( diff --git a/Pools/MiningDutch.ps1 b/Pools/MiningDutch.ps1 index 31ba7a3f..380a792c 100644 --- a/Pools/MiningDutch.ps1 +++ b/Pools/MiningDutch.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\MiningDutch.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> param( diff --git a/Pools/MiningPoolHub.ps1 b/Pools/MiningPoolHub.ps1 index d1846378..96b799d2 100644 --- a/Pools/MiningPoolHub.ps1 +++ b/Pools/MiningPoolHub.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\MiningPoolHub.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> param( diff --git a/Pools/NiceHash.ps1 b/Pools/NiceHash.ps1 index 4a070c06..04729f7c 100644 --- a/Pools/NiceHash.ps1 +++ b/Pools/NiceHash.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\NiceHash.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> param( diff --git a/Pools/ProHashing.ps1 b/Pools/ProHashing.ps1 index 48d1f0c9..3056b2eb 100644 --- a/Pools/ProHashing.ps1 +++ b/Pools/ProHashing.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\ProHashing.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> param( diff --git a/Pools/ZPool.ps1 b/Pools/ZPool.ps1 index 767f2a86..82ab5440 100644 --- a/Pools/ZPool.ps1 +++ b/Pools/ZPool.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\ZPool.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> param( diff --git a/Pools/ZergPool.ps1 b/Pools/ZergPool.ps1 index 21528cc9..f22ab5ff 100644 --- a/Pools/ZergPool.ps1 +++ b/Pools/ZergPool.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\ZergPool.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> param( diff --git a/README.md b/README.md index c16dc5f3..27cb8a03 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ UG-Miner monitors mining pools in real-time in order to find the most profitable algorithm -Updated 2024/03/16 +Updated 2024/03/19 Copyright (c) 2018-2024 UselessGuru diff --git a/UG-Miner.ps1 b/UG-Miner.ps1 index 4748bf8d..f67ab276 100644 --- a/UG-Miner.ps1 +++ b/UG-Miner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: UG-Miner.ps1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> using module .\Includes\Include.psm1 @@ -27,7 +27,7 @@ using module .\Includes\APIServer.psm1 param( [Parameter(Mandatory = $false)] - [String[]]$Algorithm = @(), # i.e. @("Ethash", "Equihash", "Cryptonight") etc. + [String[]]$Algorithm = @(), # i.e. @("Equihash1445", "Ethash", "KawPow") etc. [Parameter(Mandatory = $false)] [String]$APILogfile = "", # API will log all requests to this file, leave empty to disable [Parameter(Mandatory = $false)] @@ -111,9 +111,9 @@ param( [Parameter(Mandatory = $false)] [Switch]$LogBalanceAPIResponse = $false, # If true will log the pool balance API data [Parameter(Mandatory = $false)] - [String[]]$LogToFile = @("Info", "Warn", "Error", "Verbose"), # Log level detail to be written to log file, see Write-Message function; any of @("Info", "Warn", "Error", "Verbose", "Debug") + [String[]]$LogToFile = @("Debug", "Info", "Warn", "Error", "Verbose"), # Log level detail to be written to log file, see Write-Message function; any of @("Debug", "Info", "Warn", "Error", "Verbose", "Debug") [Parameter(Mandatory = $false)] - [String[]]$LogToScreen = @("Info", "Warn", "Error", "Verbose"), # Log level detail to be written to screen, see Write-Message function; any of @("Info", "Warn", "Error", "Verbose", "Debug") + [String[]]$LogToScreen = @("Debug", "Info", "Warn", "Error", "Verbose"), # Log level detail to be written to screen, see Write-Message function; any of @("Debug", "Info", "Warn", "Error", "Verbose", "Debug") [Parameter(Mandatory = $false)] [String]$LogViewerConfig = ".\Utils\UG-Miner_LogReader.xml", # Path to external log viewer config file [Parameter(Mandatory = $false)] @@ -294,7 +294,7 @@ $Variables.Branding = [PSCustomObject]@{ BrandName = "UG-Miner" BrandWebSite = "https://github.com/UselessGuru/UG-Miner" ProductLabel = "UG-Miner" - Version = [System.Version]"6.1.15" + Version = [System.Version]"6.2.0" } $WscriptShell = New-Object -ComObject Wscript.Shell @@ -455,8 +455,9 @@ $Variables.SuspendCycle = $false $Variables.WatchdogTimers = [PSCustomObject[]]@() $Variables.RegexAlgoIsEthash = "^Autolykos2|^Etc?hash|^UbqHash" -$Variables.RegexAlgoIsProgPow = "^EvrProgPow|^FiroPow|^KawPow|^ProgPow" -$Variables.RegexAlgoHasDAG = "^Autolykos2|^Etc?hash|^EvrProgPow|^FiroPow|^KawPow|^Octopus$|^ProgPow|^UbqHash" +$Variables.RegexAlgoIsProgPow = "^EvrProgPow|^FiroPow|^KawPow|^MeowPow|^ProgPow" +$Variables.RegexAlgoHasDAG = "^Autolykos2|^Etc?hash|^EvrProgPow|^FiroPow|^KawPow|^MeowPow|^Octopus|^ProgPow|^UbqHash" + $Variables.Summary = "Loading miner device information...
This may take a while." Write-Message -Level Verbose $Variables.Summary diff --git a/Version.txt b/Version.txt index 4e37ffbe..481d77d8 100644 --- a/Version.txt +++ b/Version.txt @@ -1,6 +1,6 @@ { "Product": "UG-Miner", - "Version": "6.1.15", + "Version": "6.2.0", "AutoUpdate": true, "RequireRestart": true, "Uri": "https://github.com/UselessGuru/UG-Miner/archive/refs/heads/master.zip", diff --git a/Web/APIdocs.html b/Web/APIdocs.html index a51b4cad..cadc833e 100644 --- a/Web/APIdocs.html +++ b/Web/APIdocs.html @@ -16,14 +16,14 @@ Product: UG-Miner File: API.psm1 -Version: 6.1.15 +Version: 6.2.0 version date: 2023/12/28--> -

UG-Miner API (version 0.5.3.14)

+

UG-Miner API (version 0.5.4.0)

API data is available at http://localhost:[API port]/<resource>.
The default API port is 3999. @@ -339,7 +339,7 @@

Functions


/functions/stat/set
Set miner hashrate value, not useful for pool stats:
Parameters: (JSON, pool list as array, requires properties Name=StatName, Algorithm=Algorithm(s), Type=Hashrate, Value (0=failed; -1=disabled)) -
e.g.: /functions/stat/set?Miners%3D%5B{"Name"%3A"SRBMinerMulti-v2.4.8-1xRadeonRX5700XT8GB"%2C"Algorithms"%3A%5B"Argon2d16000"%5D}%5D%26Type%3DHashrate%26Value%3D-1 +
e.g.: /functions/stat/set?Miners%3D%5B{"Name"%3A"SRBMinerMulti-v2.4.9-1xRadeonRX5700XT8GB"%2C"Algorithms"%3A%5B"Argon2d16000"%5D}%5D%26Type%3DHashrate%26Value%3D-1

/functions/pool/enable
Enable disabled pool diff --git a/Web/index.html b/Web/index.html index 1e8f9d20..4d78600e 100644 --- a/Web/index.html +++ b/Web/index.html @@ -57,8 +57,8 @@

Active miners

BeginTime Continous cycles Running time - Primary algorithm - Primary algorithm (variant) + Primary algorithm + Primary algorithm (variant) Primary currency Primary coin name Primary pool @@ -68,8 +68,8 @@

Active miners

Benchmarked
hashrate Primary pool fee Primary miner fee - Secondary algorithm - Secondary algorithm (variant) + Secondary algorithm + Secondary algorithm (variant) Secondary currency Secondary coin name Secondary pool diff --git a/Web/minersall.html b/Web/minersall.html index 19b890ad..d8329d39 100644 --- a/Web/minersall.html +++ b/Web/minersall.html @@ -25,7 +25,7 @@

All miners

data-filter-control="true" data-group-by="true" data-group-by-collapsed-groups="" - data-group-by-field='["Name", "tPrimaryAlgorithmVariant", "tSecondaryAlgorithmVariant"]' + data-group-by-field='["Name"]' data-group-by-show-toggle-icon="true" data-group-by-toggle="true" data-header-style="headerStyleAlignTop" @@ -64,22 +64,22 @@

All miners

Power Total mining duration Accuracy - Primary algorithm - Primary algorithm (variant) + Primary algorithm + Primary algorithm (variant) Primary currency Primary coin name - Primary pool - Primary pool (variant) + Primary pool + Primary pool (variant) Primary user Primary
hashrate Primary pool fee Primary miner fee - Secondary algorithm - Secondary algorithm (variant) + Secondary algorithm + Secondary algorithm (variant) Secondary currency Secondary coin name - Secondary pool - Secondary pool (variant) + Secondary pool + Secondary pool (variant) Secondary user Secondary
hashrate Secondary pool fee diff --git a/Web/minersoptimal.html b/Web/minersoptimal.html index 7f0f351d..3d54849b 100644 --- a/Web/minersoptimal.html +++ b/Web/minersoptimal.html @@ -59,8 +59,8 @@

Optimal miners

Power Total mining duration Accuracy - Primary algorithm - Primary algorithm (variant) + Primary algorithm + Primary algorithm (variant) Primary currency Primary coin name Primary pool @@ -69,8 +69,8 @@

Optimal miners

Primary
hashrate Primary pool fee Primary miner fee - Secondary algorithm - Secondary algorithm (variant) + Secondary algorithm + Secondary algorithm (variant) Secondary currency Secondary coin name Secondary pool diff --git a/Web/minersunavailable.html b/Web/minersunavailable.html index 32b97b02..7bfdeeff 100644 --- a/Web/minersunavailable.html +++ b/Web/minersunavailable.html @@ -25,7 +25,7 @@

Unavailable miners

data-filter-control="true" data-group-by="true" data-group-by-collapsed-groups="" - data-group-by-field='["Name", "tPrimaryAlgorithmVariant", "tSecondaryAlgorithmVariant"]' + data-group-by-field='["Name"]' data-group-by-show-toggle-icon="true" data-group-by-toggle="true" data-header-style="headerStyleAlignTop" @@ -64,8 +64,8 @@

Unavailable miners

Power Total mining duration Accuracy - Primary algorithm - Primary algorithm (variant) + Primary algorithm + Primary algorithm (variant) Primary currency Primary coin name Primary pool @@ -74,8 +74,8 @@

Unavailable miners

Primary
hashrate Primary pool fee Primary miner fee - Secondary algorithm - Secondary algorithm (variant) + Secondary algorithm + Secondary algorithm (variant) Secondary currency Secondary coin name Secondary pool diff --git a/Web/poolsall.html b/Web/poolsall.html index 4157df0f..93ce0747 100644 --- a/Web/poolsall.html +++ b/Web/poolsall.html @@ -44,8 +44,8 @@

All pools

Pool Uri Algorithm Algorithm (variant) - Coin name Currency + Coin name Reasons BTC/GH/24hr BTC/GH/24hr
(biased) diff --git a/Web/poolsbest.html b/Web/poolsbest.html index 6a296c4a..97258964 100644 --- a/Web/poolsbest.html +++ b/Web/poolsbest.html @@ -43,8 +43,8 @@

Best pools

Pool Uri Algorithm Algorithm (variant) - Coin name Currency + Coin name Reasons BTC/GH/24hr BTC/GH/24hr
(biased) diff --git a/Web/poolsunavailable.html b/Web/poolsunavailable.html index 199e89ba..b7d4060e 100644 --- a/Web/poolsunavailable.html +++ b/Web/poolsunavailable.html @@ -44,8 +44,8 @@

Unavailable pools

Pool Uri Algorithm Algorithm (variant) - Coin name Currency + Coin name Reasons BTC/GH/24hr BTC/GH/24hr
(biased) diff --git a/Web/scripts/demo.ps1 b/Web/scripts/demo.ps1 index 15302d55..48ffe160 100644 --- a/Web/scripts/demo.ps1 +++ b/Web/scripts/demo.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: demo.psm1 -Version: 6.1.15 -Version date: 2024/03/16 +Version: 6.2.0 +Version date: 2024/03/19 #> # Try running this script as: http://localhost:3999/scripts/demo.ps1?message=Hello%20World! diff --git a/Web/stats.html b/Web/stats.html index d99a3053..49f41635 100644 --- a/Web/stats.html +++ b/Web/stats.html @@ -6,28 +6,28 @@

Manage miner and pool stats

-
Reset benchmarks for 0 H/s miners
+
Stat files with 0H/s hashrate

Reset the stats for miners that have a benchmarked hashrate of 0 H/s.

These miners may have failed to benchmark properly.
Resetting their stats allows them to attempt benchmarking again.

You should watch closely for failed miners after doing this.

- Show miners with 0 H/s + Show stat files with 0H/s

- Reset miners with 0 H/s + Reset stat files with 0H/s
-
Reset power consumption for 0 W miners
+
Stat files with 0W power consumption
-

Reset the stats for miners that have a measured power consumption of 0 W.

+

Reset the stats for miners that have a measured power consumption of 0W.

These miners may have failed to measure power consumption properly.
Resetting their recorded value allows them to attempt measuring again.

You should watch closely for failed miners after doing this.

- Show miners with 0 W power consumption + Show stat files with 0W power consumption

- Reset miners with 0 W power consumption + Reset stat file with 0W power consumption