From 04becbc65fe090a11b00b380af1893ad4371dad5 Mon Sep 17 00:00:00 2001 From: Useless Guru <30080938+UselessGuru@users.noreply.github.com> Date: Sun, 16 Oct 2022 11:17:36 +0200 Subject: [PATCH] v4.2.2.2 Enhancements: - Core: New configuration item 'ShowPool' - Web GUI, Add 'Show Pool' & 'Show pool fee' configuration items Fixes: - Core / Main text window: Hot keys (e.g. 'h' for help) not working (regression from 4.2.1.5) Pool changes: - GMiner-v3.09 --- 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/MiningDutch.ps1 | 4 +- Brains/ProHashing.ps1 | 4 +- Brains/ZPool.ps1 | 4 +- Brains/ZergPool.ps1 | 4 +- ChangeLog.txt | 28 +- Changed Config Items.txt | 7 +- Data/DagData.json | 394 +++++++++++++------------- Data/GPUArchitectureAMD.json | 11 +- Includes/API.psm1 | 4 +- Includes/BalancesTracker.ps1 | 4 +- Includes/Core.ps1 | 4 +- Includes/Downloader.ps1 | 4 +- Includes/Include.psm1 | 4 +- Includes/MinerAPIs/BMiner.ps1 | 4 +- Includes/MinerAPIs/Cast.ps1 | 4 +- Includes/MinerAPIs/Ccminer.ps1 | 4 +- Includes/MinerAPIs/Dstm.ps1 | 4 +- Includes/MinerAPIs/EthMiner.ps1 | 4 +- Includes/MinerAPIs/FireIce.ps1 | 4 +- Includes/MinerAPIs/Gminer.ps1 | 4 +- Includes/MinerAPIs/MiniZ.ps1 | 4 +- Includes/MinerAPIs/NBMiner.ps1 | 4 +- Includes/MinerAPIs/NanoMiner.ps1 | 4 +- Includes/MinerAPIs/Nheq.ps1 | 4 +- Includes/MinerAPIs/SRBMiner.ps1 | 4 +- Includes/MinerAPIs/TeamBlackMiner.ps1 | 4 +- Includes/MinerAPIs/Trex.ps1 | 4 +- Includes/MinerAPIs/Xgminer.ps1 | 4 +- Includes/MinerAPIs/XmRig.ps1 | 4 +- Includes/MinerAPIs/lolMiner.ps1 | 4 +- Miners/GMiner-v3.08.ps1 | 83 ------ Miners/GMiner-v3.09.ps1 | 95 +++++++ Miners/Kudaraidee-v1.2.0a.ps1 | 22 +- Miners/NBMiner-v42.3.ps1 | 2 +- Miners/PhoenixMiner-v6.2c.ps1 | 66 ++--- Miners/SRBMinerMulti-v0.9.4.ps1 | 4 - Miners/SRBMinerMulti-v1.0.1.ps1 | 42 +-- Miners/SRBMinerMulti-v1.1.0.ps1 | 288 +++++++++---------- Miners/Trex-v0.26.8.ps1 | 72 ++--- Miners/lolMiner-v1.61.ps1 | 140 ++++----- NemosMiner.ps1 | 200 ++++++++++--- 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 +- Version.txt | 2 +- Web/APIdocs.html | 6 +- Web/configedit.html | 18 +- Web/js/utilities.js | 3 +- Web/scripts/demo.ps1 | 4 +- 62 files changed, 907 insertions(+), 746 deletions(-) delete mode 100644 Miners/GMiner-v3.08.ps1 create mode 100644 Miners/GMiner-v3.09.ps1 diff --git a/Balances/HiveON.ps1 b/Balances/HiveON.ps1 index 61ff233c3c..352473a944 100644 --- a/Balances/HiveON.ps1 +++ b/Balances/HiveON.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: HiveON.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Balances/MiningDutch.ps1 b/Balances/MiningDutch.ps1 index 13bc2493cf..e928dac246 100644 --- a/Balances/MiningDutch.ps1 +++ b/Balances/MiningDutch.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: MiningDutch.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Balances/MiningPoolHub.ps1 b/Balances/MiningPoolHub.ps1 index 17ceacf2ad..991a44ff36 100644 --- a/Balances/MiningPoolHub.ps1 +++ b/Balances/MiningPoolHub.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: MiningPoolHub.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Balances/NiceHash External.ps1 b/Balances/NiceHash External.ps1 index 58dc765bd9..bb476303c7 100644 --- a/Balances/NiceHash External.ps1 +++ b/Balances/NiceHash External.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: NiceHash Internal.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Balances/NiceHash Internal.ps1 b/Balances/NiceHash Internal.ps1 index 5e3f468689..875e39a762 100644 --- a/Balances/NiceHash Internal.ps1 +++ b/Balances/NiceHash Internal.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: NiceHash Internal.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Balances/ProHashing.ps1 b/Balances/ProHashing.ps1 index 9b0e2b2a00..bfc8a92338 100644 --- a/Balances/ProHashing.ps1 +++ b/Balances/ProHashing.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: ProHashing.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Balances/ZergPool.ps1 b/Balances/ZergPool.ps1 index 0e1babe5e9..d4f5986bbf 100644 --- a/Balances/ZergPool.ps1 +++ b/Balances/ZergPool.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: ZergPool.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Balances/Zpool.ps1 b/Balances/Zpool.ps1 index e6890aabf2..912e79591d 100644 --- a/Balances/Zpool.ps1 +++ b/Balances/Zpool.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: Zpool.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Brains/MiningDutch.ps1 b/Brains/MiningDutch.ps1 index a0d33107b1..8ac6a7ffd7 100644 --- a/Brains/MiningDutch.ps1 +++ b/Brains/MiningDutch.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: NemosMiner File: MiningDutch.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Brains/ProHashing.ps1 b/Brains/ProHashing.ps1 index 0b7ef4ffb9..0169d5e767 100644 --- a/Brains/ProHashing.ps1 +++ b/Brains/ProHashing.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: NemosMiner File: ProHashing.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Brains/ZPool.ps1 b/Brains/ZPool.ps1 index 8909bdd59d..9e672013d4 100644 --- a/Brains/ZPool.ps1 +++ b/Brains/ZPool.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: NemosMiner File: ZPool.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Brains/ZergPool.ps1 b/Brains/ZergPool.ps1 index 73097964bd..b2ac44eb42 100644 --- a/Brains/ZergPool.ps1 +++ b/Brains/ZergPool.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: NemosMiner File: ZergPool.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/ChangeLog.txt b/ChangeLog.txt index 8ecb002cd4..a83946ac9d 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -10,6 +10,19 @@ Known issues: - Balance Tracker / Earnings Graph: Date change take does not respect local time zone (accumulated data is calculated in GMT time) - Increasing memory consumption over time (PWSH will eat up memory despite aggressive variable cleaning & garbage collection) +ChangeLog NemosMiner 4.2.2.2 15.10.2022 +======================================= + +Enhancements: +- Core: New configuration item 'ShowPool' +- Web GUI, Add 'Show Pool' & 'Show pool fee' configuration items + +Fixes: +- Core / Main text window: Hot keys (e.g. 'h' for help) not working (regression from 4.2.1.5) + +Pool changes: +- GMiner-v3.09 + ChangeLog NemosMiner 4.2.2.1 14.10.2022 ======================================= @@ -21,10 +34,11 @@ Enhancements: - Core: Remove NiceHash pool name suffixes 'External' & 'Internal' Fixes: +- AutoUpdate: Remove obsolete stat files from older miner versions - Core / Legacy GUI: Do not scroll messages to end when text is selected -- Core / Include.psm1: Config file version not saved to config (regeression from 4.2.2.0) +- Core / Include.psm1: Config file version not saved to config (regression from 4.2.2.0) - Core / Include.psm1: Get-CommandLineParameters broken for FireIce API (regression from 4.2.1.5) -- Core: Main text window: Invalid running miner information on first cycle (regeression from 4.2.2.0) +- Core: Main text window: Invalid running miner information on first cycle (regression from 4.2.2.0) - Core: Switching log not updated correctly when switching to/from donation Miner updates: @@ -39,7 +53,7 @@ ChangeLog NemosMiner 4.2.2.0 09.10.2022 ======================================= Enhancements: -- Make '$ProfitabilityThreshold' also work when power cost is not part of the calculation +- Make configuration item 'ProfitabilityThreshold' also work when power cost is not part of the calculation Fixes: - Core: Invalid PowerPrice at 00:00h @@ -80,7 +94,7 @@ Changes: Fixes: - Core / DAG data: Calculate Octopus DAG size (Thank you RainbowMiner) - Core: Crash when donation duration longer tha rest of the day -- Core: Configuration variables '$ProfitabilityThreshold' had no effect. Mining would continue at loss +- Core: Configuration variables 'ProfitabilityThreshold' had no effect. Mining would continue at loss - Core: Fix miners getting stopped with message 'No samples received...' Miner changes: @@ -137,7 +151,7 @@ Enhancements: Fixes: - Balance tracker / MiningPoolHub: Ignore 0 valued balances - Core: Do not donate more than once a day after a NemosMiner restart (Regression of 4.2.1.2) -- Web GUI / Earnings Chart: Tooltips not shown if $BalancesTrackerPollInterval -eq 0 +- Web GUI / Earnings Chart: Tooltips not shown if configuration item 'BalancesTrackerPollInterval' -eq 0 Miner Changes: - GMiner-v2.75: Incorrect coin pers used @@ -210,7 +224,7 @@ Enhancements: Fixes: - API: Pool stat management broken (Regression from 4.1.0.0) - Core: Do not start Web GUI if configuration item 'WebGUI' is set to $false -- Core: Stop Web GUI if configuration item 'WebGUI' is chaning to $false +- Core: Stop Web GUI if configuration item 'WebGUI' is changing to $false - Core / Pools: 'Algorithm 'Bitcore' was incorrectly mapped to 'MegaBtx' causing ever increasing number of MegaBtx pools with incorrects values - Core / Get-Device: AMD Navi2 architecture detected as 'other' - EthMiner-v0.19.0.18: Fix ssl @ NiceHash (Regression from 4.1.0.0) @@ -1225,7 +1239,7 @@ Changelog NemosMiner 4.0.0.10 (RC10) 24.12.2021 Fixes: - Pools: AHashPool, Blockmasters, HiveOn, ProHashing, ZPool, ZergPool; fixed earnings reported by pool - Pools: ProHashing(*): Poolfee was always null -- Web GUI: 'Show Pool Balances in main text window' not ticked even when '$ShowPoolBalances' was set to $true +- Web GUI: 'Show Pool Balances in main text window' not ticked even when configuration item 'ShowPoolBalances' was set to $true - Web GUI: 'Reset pool stat data' buttons not working Miner Updates: diff --git a/Changed Config Items.txt b/Changed Config Items.txt index e116ae0132..cc85302dbe 100644 --- a/Changed Config Items.txt +++ b/Changed Config Items.txt @@ -215,10 +215,13 @@ New Config Items # Show miner earning bias column in miner overview "ShowEarningBias": true, -# Show miner fee column in miner overview (if fees are available, Property '[Double]Fee') +# Show miner fee column in miner overview (if fees are available, Property 'Fee') "ShowMinerFee": true, -# Show pool fee column in miner overview (if fees are available, Property '[Double]Fee') +# Show pool column in miner overview + "ShowPool": true, + +# Show pool fee column in miner overview (if fees are available, Property 'Fee') "ShowPoolFee": true, # Show Power cost column in miner overview (if power price is available, see PowerPricekWh) diff --git a/Data/DagData.json b/Data/DagData.json index 5efba7dba4..87c1215afd 100644 --- a/Data/DagData.json +++ b/Data/DagData.json @@ -1,261 +1,261 @@ { - "Currency": { - "CLO": { - "DAGsize": 4118805632, - "CoinName": "Callisto", - "Epoch": 363, - "Algorithm": "Ethash", - "BlockHeight": 10917689 + "Algorithm": { + "EthashLowMem": { + "DAGsize": 1795157888, + "Epoch": 86, + "CoinName": "TransactionServiceFee", + "BlockHeight": 2596035 }, - "ERG": { - "DAGsize": 2655136050, - "CoinName": "Ergo", - "Epoch": 425, - "Algorithm": "Autolykos2", - "BlockHeight": 852585 + "UbqHash": { + "DAGsize": 1879048064.0, + "Epoch": 96.0, + "BlockHeight": 2898035.0 }, - "ETP": { - "DAGsize": 3087003776, - "CoinName": "Metaverse", - "Epoch": 240, - "Algorithm": "Ethash", - "BlockHeight": 7217563 + "FiroPoW": { + "DAGsize": 4655675264.0, + "Epoch": 427.0, + "BlockHeight": 555812.0 }, - "ETHO": { - "DAGsize": 3925868416, - "CoinName": "Ether1", - "Epoch": 340, - "Algorithm": "Ethash", - "BlockHeight": 10228987 + "Octopus": { + "DAGsize": 6090127616.0, + "Epoch": 107.0, + "BlockHeight": 56519109.0 }, - "NEOX": { - "DAGsize": 1132461952, - "CoinName": "Neoxa", - "Epoch": 7, - "Algorithm": "KawPoW", - "BlockHeight": 213327 + "KawPoW": { + "DAGsize": 3858755968.0, + "Epoch": 332.0, + "BlockHeight": 2496493.0 }, - "DAE": { - "DAGsize": 1149232768, - "CoinName": null, - "Epoch": 9, - "Algorithm": null, - "BlockHeight": 292675 + "EtcHash": { + "DAGsize": 3330273152.0, + "Epoch": 269.0, + "BlockHeight": 16145482.0 }, - "CFX": { - "DAGsize": 6090127616, - "CoinName": "Conflux", - "Epoch": 107, - "Algorithm": "Octopus", - "BlockHeight": 56439169 + "Ethash": { + "DAGsize": 5469367936.0, + "Epoch": 524.0, + "BlockHeight": 15737245.0 }, - "ATH": { - "DAGsize": 2785017728, - "CoinName": "Atheios", - "Epoch": 204, + "Autolykos2": { + "DAGsize": 2655136050.0, + "Epoch": 426.0, + "BlockHeight": 853375.0 + } + }, + "Currency": { + "PGC": { + "DAGsize": 2457861248, "Algorithm": "Ethash", - "BlockHeight": 6126801 + "Epoch": 165, + "CoinName": "PegasCoin", + "BlockHeight": 4968886 }, "QKC": { "DAGsize": 4177525888, - "CoinName": "QuarkChain", + "Algorithm": "Ethash", "Epoch": 370, + "CoinName": "QuarkChain", + "BlockHeight": 11129347 + }, + "DAE": { + "DAGsize": 1149232768, + "Algorithm": null, + "Epoch": 9, + "CoinName": null, + "BlockHeight": 298774 + }, + "ETHO": { + "DAGsize": 3934256512, "Algorithm": "Ethash", - "BlockHeight": 11119945 + "Epoch": 341, + "CoinName": "Ether1", + "BlockHeight": 10236032 }, - "*": { + "CFX": { "DAGsize": 6090127616, - "Epoch": 524, - "BlockHeight": 56439169, - "CoinName": "*" + "Algorithm": "Octopus", + "Epoch": 107, + "CoinName": "Conflux", + "BlockHeight": 56519109 }, - "MEWC": { - "DAGsize": 1082130304, - "CoinName": "MeowCoin", - "Epoch": 1, + "NEOX": { + "DAGsize": 1132461952, "Algorithm": "KawPoW", - "BlockHeight": 55799 + "Epoch": 7, + "CoinName": "Neoxa", + "BlockHeight": 214909 }, - "REOSC": { - "Epoch": 237, - "DAGsize": 3061837696, - "BlockHeight": 7114083, - "CoinName": "REOSC Ecosystem", - "Algorithm": "Ethash" + "UBQ": { + "DAGsize": 1879048064, + "Algorithm": "UbqHash", + "Epoch": 96, + "CoinName": "UBIQ", + "BlockHeight": 2898035 }, - "PGC": { - "DAGsize": 2457861248, - "CoinName": "PegasCoin", - "Epoch": 165, + "EXP": { + "DAGsize": 2994731392, "Algorithm": "Ethash", - "BlockHeight": 4965861 - }, - "ERE": { - "Epoch": 16, - "DAGsize": 1207958912, - "BlockHeight": 484111, - "CoinName": "Ethercore", - "Algorithm": "Ethash" - }, - "ETC": { - "DAGsize": 3321887104, - "CoinName": "Ethereum Classic", - "Epoch": 268, - "Algorithm": "EtcHash", - "BlockHeight": 16138134 + "Epoch": 229, + "CoinName": "Expanse", + "BlockHeight": 6881745 }, - "DBIX": { - "Epoch": 57, - "DAGsize": 1551892096, - "BlockHeight": 1728025, - "CoinName": "DubaiCoin", - "Algorithm": "Ethash" + "ESN": { + "DAGsize": 2852121472, + "Algorithm": "Ethash", + "Epoch": 212, + "CoinName": "EtherSocial", + "BlockHeight": 6373871 }, - "NUKO": { - "DAGsize": 3380608384, - "CoinName": "Nekonium", - "Epoch": 275, + "ETHW": { + "DAGsize": 5469367936, "Algorithm": "Ethash", - "BlockHeight": 8273226 + "Epoch": 524, + "CoinName": "EthereumPOW", + "BlockHeight": 15737245 }, - "EXP": { - "DAGsize": 2994731392, - "CoinName": "Expanse", - "Epoch": 229, + "MOAC": { + "DAGsize": 3925868416, "Algorithm": "Ethash", - "BlockHeight": 6877393 + "Epoch": 340, + "CoinName": "Moac", + "BlockHeight": 10207724 }, - "RVN": { - "DAGsize": 3858755968, - "CoinName": "RavenCoin", - "Epoch": 332, - "Algorithm": "KawPoW", - "BlockHeight": 2494918 + "FIRO": { + "DAGsize": 4655675264, + "Algorithm": "FiroPoW", + "Epoch": 427, + "CoinName": "Firo", + "BlockHeight": 555812 }, "NILU": { "DAGsize": 2801794432, - "CoinName": "Nilu", - "Epoch": 206, "Algorithm": "Ethash", - "BlockHeight": 6201510 - }, - "EGEM": { - "DAGsize": 4294962304, - "CoinName": "EtherGem", - "Epoch": 384, - "Algorithm": "Ethash", - "BlockHeight": 11521466 - }, - "ESN": { - "DAGsize": 2852121472, - "CoinName": "EtherSocial", - "Epoch": 212, - "Algorithm": "Ethash", - "BlockHeight": 6373579 + "Epoch": 206, + "CoinName": "Nilu", + "BlockHeight": 6201534 }, "QI": { "DAGsize": 1115684224, - "CoinName": null, - "Epoch": 5, "Algorithm": null, - "BlockHeight": 162829 + "Epoch": 5, + "CoinName": null, + "BlockHeight": 169767 }, - "UBQ": { - "DAGsize": 1879048064, - "CoinName": "UBIQ", - "Epoch": 96, - "Algorithm": "UbqHash", - "BlockHeight": 2893868 + "REOSC": { + "DAGsize": 3061837696, + "BlockHeight": 7114083, + "Algorithm": "Ethash", + "CoinName": "REOSC Ecosystem", + "Epoch": 237 }, - "ETHF": { - "DAGsize": 5469367936, - "CoinName": "Ethereumfair", - "Epoch": 524, + "ATH": { + "DAGsize": 2785017728, "Algorithm": "Ethash", - "BlockHeight": 15729918 + "Epoch": 204, + "CoinName": "Atheios", + "BlockHeight": 6129848 }, - "MOAC": { - "DAGsize": 3925868416, - "CoinName": "Moac", - "Epoch": 340, + "ERG": { + "DAGsize": 2655136050, + "Algorithm": "Autolykos2", + "Epoch": 426, + "CoinName": "Ergo", + "BlockHeight": 853375 + }, + "ERE": { + "DAGsize": 1207958912, + "BlockHeight": 484111, "Algorithm": "Ethash", - "BlockHeight": 10200619 + "CoinName": "Ethercore", + "Epoch": 16 + }, + "ETC": { + "DAGsize": 3330273152, + "Algorithm": "EtcHash", + "Epoch": 269, + "CoinName": "Ethereum Classic", + "BlockHeight": 16145482 }, "TSF": { "DAGsize": 1795157888, - "CoinName": "TransactionServiceFee", - "Epoch": 86, "Algorithm": "Ethash", - "BlockHeight": 2593787 + "BlockHeight": 2596035, + "Epoch": 86, + "CoinName": "TransactionServiceFee" }, - "ETHW": { + "ETHF": { "DAGsize": 5469367936, - "CoinName": "EthereumPOW", - "Epoch": 524, "Algorithm": "Ethash", - "BlockHeight": 15730002 + "Epoch": 524, + "CoinName": "Ethereumfair", + "BlockHeight": 15737150 }, - "FIRO": { - "DAGsize": 4655675264, - "CoinName": "Firo", - "Epoch": 427, - "Algorithm": "FiroPoW", - "BlockHeight": 555203 + "NUKO": { + "DAGsize": 3380608384, + "Algorithm": "Ethash", + "Epoch": 275, + "CoinName": "Nekonium", + "BlockHeight": 8273227 }, "AKA": { "DAGsize": 3321887104, - "CoinName": "Akroma", - "Epoch": 268, "Algorithm": "Ethash", - "BlockHeight": 8043019 - } - }, - "Algorithm": { - "UbqHash": { - "DAGsize": 1879048064.0, - "Epoch": 96.0, - "BlockHeight": 2893868.0 + "Epoch": 268, + "CoinName": "Akroma", + "BlockHeight": 8049549 }, - "Octopus": { - "DAGsize": 6090127616.0, - "Epoch": 107.0, - "BlockHeight": 56439169.0 + "DBIX": { + "DAGsize": 1551892096, + "BlockHeight": 1728025, + "Algorithm": "Ethash", + "CoinName": "DubaiCoin", + "Epoch": 57 }, - "KawPoW": { - "DAGsize": 3858755968.0, - "Epoch": 332.0, - "BlockHeight": 2494918.0 + "CLO": { + "DAGsize": 4127194496, + "Algorithm": "Ethash", + "Epoch": 364, + "CoinName": "Callisto", + "BlockHeight": 10925002 }, - "Ethash": { - "DAGsize": 5469367936.0, - "Epoch": 524.0, - "BlockHeight": 15730002.0 + "ETP": { + "DAGsize": 3087003776, + "Algorithm": "Ethash", + "Epoch": 240, + "CoinName": "Metaverse", + "BlockHeight": 7221259 }, - "EtcHash": { - "DAGsize": 3321887104.0, - "Epoch": 268.0, - "BlockHeight": 16138134.0 + "MEWC": { + "DAGsize": 1082130304, + "Algorithm": "KawPoW", + "Epoch": 1, + "CoinName": "MeowCoin", + "BlockHeight": 57376 }, - "FiroPoW": { - "DAGsize": 4655675264.0, - "Epoch": 427.0, - "BlockHeight": 555203.0 + "RVN": { + "DAGsize": 3858755968, + "Algorithm": "KawPoW", + "Epoch": 332, + "CoinName": "RavenCoin", + "BlockHeight": 2496493 }, - "EthashLowMem": { - "DAGsize": 1795157888, - "Epoch": 86, - "BlockHeight": 2593787, - "CoinName": "TransactionServiceFee" + "*": { + "DAGsize": 6090127616, + "Epoch": 524, + "CoinName": "*", + "BlockHeight": 56519109 }, - "Autolykos2": { - "DAGsize": 2655136050.0, - "Epoch": 425.0, - "BlockHeight": 852585.0 + "EGEM": { + "DAGsize": 4294962304, + "Algorithm": "Ethash", + "Epoch": 384, + "CoinName": "EtherGem", + "BlockHeight": 11528350 } }, "Updated": { - "https://whattomine.com/coins.json": "2022-10-14T13:39:05.8519932Z", - "https://minerstat.com/dag-size-calculator": "2022-10-14T13:39:06.1479553Z", - "https://prohashing.com/api/v1/currencies": "2022-10-14T13:39:07.2660264Z" + "https://whattomine.com/coins.json": "2022-10-15T16:22:21.0284371Z", + "https://minerstat.com/dag-size-calculator": "2022-10-15T16:22:21.2800047Z", + "https://prohashing.com/api/v1/currencies": "2022-10-15T16:22:22.449554Z" } } diff --git a/Data/GPUArchitectureAMD.json b/Data/GPUArchitectureAMD.json index 75c42ea9ea..22dc736afb 100644 --- a/Data/GPUArchitectureAMD.json +++ b/Data/GPUArchitectureAMD.json @@ -100,7 +100,7 @@ "navi10", "navi12", "navi14", - "RX5\\d00" + "RX5\\d{3}" ], "RDNA2": [ "gfx1030", @@ -109,6 +109,13 @@ "gfx1033", "gfx1034", "gfx1035", - "RX6\\d00" + "RX6\\d{3}" + ], + "RDNA3": [ + "gfx1100", + "gfx1101", + "gfx1102", + "gfx1103", + "RX7\\d{3}" ] } \ No newline at end of file diff --git a/Includes/API.psm1 b/Includes/API.psm1 index 69f33fa012..f2d2ab80fa 100644 --- a/Includes/API.psm1 +++ b/Includes/API.psm1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: API.psm1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> Function Initialize-API { diff --git a/Includes/BalancesTracker.ps1 b/Includes/BalancesTracker.ps1 index be962e1204..e20db84563 100644 --- a/Includes/BalancesTracker.ps1 +++ b/Includes/BalancesTracker.ps1 @@ -21,8 +21,8 @@ along with this program. If not, see . <# Product: NemosMiner File: BalancesTracker.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> Do { diff --git a/Includes/Core.ps1 b/Includes/Core.ps1 index a4a9758496..a4be86443d 100644 --- a/Includes/Core.ps1 +++ b/Includes/Core.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: NemosMiner File: Core.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module .\Include.psm1 diff --git a/Includes/Downloader.ps1 b/Includes/Downloader.ps1 index 5dc9147eb4..761f7a8f25 100644 --- a/Includes/Downloader.ps1 +++ b/Includes/Downloader.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: Downloader.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module .\Includes\Include.psm1 diff --git a/Includes/Include.psm1 b/Includes/Include.psm1 index eefa0401ab..204927d132 100644 --- a/Includes/Include.psm1 +++ b/Includes/Include.psm1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: include.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> # Window handling diff --git a/Includes/MinerAPIs/BMiner.ps1 b/Includes/MinerAPIs/BMiner.ps1 index b15626a4aa..06360652c8 100644 --- a/Includes/MinerAPIs/BMiner.ps1 +++ b/Includes/MinerAPIs/BMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: BMiner.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class BMiner : Miner { diff --git a/Includes/MinerAPIs/Cast.ps1 b/Includes/MinerAPIs/Cast.ps1 index fe132b9b4f..9d1181cc82 100644 --- a/Includes/MinerAPIs/Cast.ps1 +++ b/Includes/MinerAPIs/Cast.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: Cast.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class Cast : Miner { diff --git a/Includes/MinerAPIs/Ccminer.ps1 b/Includes/MinerAPIs/Ccminer.ps1 index bd25f1b1c3..4a643d2583 100644 --- a/Includes/MinerAPIs/Ccminer.ps1 +++ b/Includes/MinerAPIs/Ccminer.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: CCminer.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class Ccminer : Miner { diff --git a/Includes/MinerAPIs/Dstm.ps1 b/Includes/MinerAPIs/Dstm.ps1 index 14ae9cebfb..4f78c12453 100644 --- a/Includes/MinerAPIs/Dstm.ps1 +++ b/Includes/MinerAPIs/Dstm.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: Dstm.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class Dstm : Miner { diff --git a/Includes/MinerAPIs/EthMiner.ps1 b/Includes/MinerAPIs/EthMiner.ps1 index 031d2e0714..8fc2c6911f 100644 --- a/Includes/MinerAPIs/EthMiner.ps1 +++ b/Includes/MinerAPIs/EthMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: EthMiner.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class EthMiner : Miner { diff --git a/Includes/MinerAPIs/FireIce.ps1 b/Includes/MinerAPIs/FireIce.ps1 index d51fe6405a..a3e5f49c4e 100644 --- a/Includes/MinerAPIs/FireIce.ps1 +++ b/Includes/MinerAPIs/FireIce.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: FireIce.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class Fireice : Miner { diff --git a/Includes/MinerAPIs/Gminer.ps1 b/Includes/MinerAPIs/Gminer.ps1 index 6e085f545f..e19aa55ed1 100644 --- a/Includes/MinerAPIs/Gminer.ps1 +++ b/Includes/MinerAPIs/Gminer.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: GMiner.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class Gminer : Miner { diff --git a/Includes/MinerAPIs/MiniZ.ps1 b/Includes/MinerAPIs/MiniZ.ps1 index 32c5e8893a..d9b157f1aa 100644 --- a/Includes/MinerAPIs/MiniZ.ps1 +++ b/Includes/MinerAPIs/MiniZ.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: MiniZ.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class MiniZ : Miner { diff --git a/Includes/MinerAPIs/NBMiner.ps1 b/Includes/MinerAPIs/NBMiner.ps1 index cfce20fe34..404b67e386 100644 --- a/Includes/MinerAPIs/NBMiner.ps1 +++ b/Includes/MinerAPIs/NBMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: NBMiner.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class NBMiner : Miner { diff --git a/Includes/MinerAPIs/NanoMiner.ps1 b/Includes/MinerAPIs/NanoMiner.ps1 index 87ef67efa1..88b560b7f8 100644 --- a/Includes/MinerAPIs/NanoMiner.ps1 +++ b/Includes/MinerAPIs/NanoMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: NanoMiner.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class NanoMiner : Miner { diff --git a/Includes/MinerAPIs/Nheq.ps1 b/Includes/MinerAPIs/Nheq.ps1 index 8410dda1e7..cdf97b2bf5 100644 --- a/Includes/MinerAPIs/Nheq.ps1 +++ b/Includes/MinerAPIs/Nheq.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: Nheq.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class Nheq : Miner { diff --git a/Includes/MinerAPIs/SRBMiner.ps1 b/Includes/MinerAPIs/SRBMiner.ps1 index 7a14695418..e8c64aa8b8 100644 --- a/Includes/MinerAPIs/SRBMiner.ps1 +++ b/Includes/MinerAPIs/SRBMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: SRBminer.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class SRBMiner : Miner { diff --git a/Includes/MinerAPIs/TeamBlackMiner.ps1 b/Includes/MinerAPIs/TeamBlackMiner.ps1 index 863657c708..53665ceb59 100644 --- a/Includes/MinerAPIs/TeamBlackMiner.ps1 +++ b/Includes/MinerAPIs/TeamBlackMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: lolMiner.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class TeamBlackMiner : Miner { diff --git a/Includes/MinerAPIs/Trex.ps1 b/Includes/MinerAPIs/Trex.ps1 index 0767c4187d..6a1df59dcd 100644 --- a/Includes/MinerAPIs/Trex.ps1 +++ b/Includes/MinerAPIs/Trex.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: Trex.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class Trex : Miner { diff --git a/Includes/MinerAPIs/Xgminer.ps1 b/Includes/MinerAPIs/Xgminer.ps1 index 62bd473d26..c0e250e0d0 100644 --- a/Includes/MinerAPIs/Xgminer.ps1 +++ b/Includes/MinerAPIs/Xgminer.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: Xgminer.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class Xgminer : Miner { diff --git a/Includes/MinerAPIs/XmRig.ps1 b/Includes/MinerAPIs/XmRig.ps1 index 70736badb2..ebbe048ef8 100644 --- a/Includes/MinerAPIs/XmRig.ps1 +++ b/Includes/MinerAPIs/XmRig.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: XmRig.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class XmRig : Miner { diff --git a/Includes/MinerAPIs/lolMiner.ps1 b/Includes/MinerAPIs/lolMiner.ps1 index 55c8c6aad3..674052acc6 100644 --- a/Includes/MinerAPIs/lolMiner.ps1 +++ b/Includes/MinerAPIs/lolMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: lolMiner.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> class lolMiner : Miner { diff --git a/Miners/GMiner-v3.08.ps1 b/Miners/GMiner-v3.08.ps1 deleted file mode 100644 index fa0df84916..0000000000 --- a/Miners/GMiner-v3.08.ps1 +++ /dev/null @@ -1,83 +0,0 @@ -using module ..\Includes\Include.psm1 - -If (-not ($Devices = $Variables.EnabledDevices | Where-Object { ($_.Type -eq "AMD" -and $_.OpenCL.ClVersion -ge "OpenCL C 1.2") -or $_.Type -eq"NVIDIA" })) { Return } - -$Uri = "https://github.com/develsoftware/GMinerRelease/releases/download/3.08/gminer_3_08_windows64.zip" -$Name = (Get-Item $MyInvocation.MyCommand.Path).BaseName -$Path = ".\Bin\$($Name)\miner.exe" -$DeviceEnumerator = "Type_Vendor_Slot" - -$Algorithms = [PSCustomObject[]]@( - [PSCustomObject]@{ Algorithm = "Equihash1254"; Type = "AMD"; Fee = @(0.02); MinMemGB = 1.8; MemReserveGB = 0; Tuning = ""; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo equihash125_4 --cuda 0 --opencl 1" } # lolMiner-v1.61 is fastest - [PSCustomObject]@{ Algorithm = "Equihash1445"; Type = "AMD"; Fee = @(0.02); MinMemGB = 1.8; MemReserveGB = 0; Tuning = ""; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo equihash144_5 $(Get-EquihashCoinPers -Command "--pers " -Currency $MinerPools[0].Equihash1445.Currency -DefaultCommand "--pers auto") --cuda 0 --opencl 1" } # lolMiner-v1.61 is fastest - [PSCustomObject]@{ Algorithm = "Equihash2109"; Type = "AMD"; Fee = @(0.02); MinMemGB = 2.8; MemReserveGB = 0; Tuning = ""; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo equihash210_9 --cuda 0 --opencl 1" } # lolMiner-v1.61 is fastest - [PSCustomObject]@{ Algorithm = "EtcHash"; Type = "AMD"; Fee = @(0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.41; Tuning = ""; MinerSet = 0; WarmupTimes = @(45, 0); Arguments = " --algo etchash --cuda 0 --opencl 1" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool - [PSCustomObject]@{ Algorithm = "Ethash"; Type = "AMD"; Fee = @(0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.41; Tuning = ""; MinerSet = 0; WarmupTimes = @(45, 0); Arguments = " --algo ethash --cuda 0 --opencl 1" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool - [PSCustomObject]@{ Algorithm = "EthashLowMem"; Type = "AMD"; Fee = @(0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.41; Tuning = ""; MinerSet = 0; WarmupTimes = @(45, 0); Arguments = " --algo ethash --cuda 0 --opencl 1" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool - [PSCustomObject]@{ Algorithm = "KawPoW"; Type = "AMD"; Fee = @(0.01); MinMemGB = $MinerPools[0].KawPoW.DAGSizeGB; MemReserveGB = 0.41; Tuning = ""; MinerSet = 0; WarmupTimes = @(30, 15); Arguments = " --algo kawpow --cuda 0 --opencl 1" } - - [PSCustomObject]@{ Algorithm = "Autolykos2"; Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; Tuning = " --mt 2"; MinerSet = 0; WarmupTimes = @(30, 0); Arguments = " --algo autolykos2 --cuda 1 --opencl 0" } - [PSCustomObject]@{ Algorithm = "Cuckaroo30CTX"; Type = "NVIDIA"; Fee = @(0.05); MinMemGB = 8.0; MemReserveGB = 0; Tuning = " --mt 2"; MinerSet = 0; WarmupTimes = @(30, 0); Arguments = " --algo cortex --cuda 1 --opencl 0" } - [PSCustomObject]@{ Algorithm = "Equihash1254"; Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 3.0; MemReserveGB = 0; Tuning = " --mt 2"; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo equihash125_4 --cuda 1 --opencl 0" } # MiniZ-v1.9z3 is fastest - [PSCustomObject]@{ Algorithm = "Equihash1445"; Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 2.1; MemReserveGB = 0; Tuning = " --mt 2"; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo equihash144_5 $(Get-EquihashCoinPers -Command "--pers " -Currency $MinerPools[0].Equihash1445.Currency -DefaultCommand "--pers auto") --cuda 1 --opencl 0" } # MiniZ-v1.9z3 is fastest - [PSCustomObject]@{ Algorithm = "Equihash2109"; Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 1.0; MemReserveGB = 0; Tuning = " --mt 2"; MinerSet = 0; WarmupTimes = @(45, 0); Arguments = " --algo equihash210_9 --cuda 1 --opencl 0" } - [PSCustomObject]@{ Algorithm = "EtcHash"; Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.41; Tuning = " --mt 2"; MinerSet = 0; WarmupTimes = @(45, 0); Arguments = " --algo etchash --cuda 1 --opencl 0" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool - [PSCustomObject]@{ Algorithm = "Ethash"; Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.41; Tuning = " --mt 2"; MinerSet = 0; WarmupTimes = @(45, 0); Arguments = " --algo ethash --cuda 1 --opencl 0" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool - [PSCustomObject]@{ Algorithm = "EthashLowMem"; Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.41; Tuning = " --mt 2"; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo ethash --cuda 1 --opencl 0" } # TTMiner-v5.0.3 is fastest - [PSCustomObject]@{ Algorithm = "KawPoW"; Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].KawPoW.DAGSizeGB; MemReserveGB = 0.41; Tuning = " --mt 2"; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo kawpow --cuda 1 --opencl 0" } # XmRig-v6.18.0 is almost as fast but has no fee - [PSCustomObject]@{ Algorithm = "kHeavyHash"; Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 2gb; MemReserveGB = 0.41; Tuning = " --mt 2"; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo kaspa --cuda 1 --opencl 0" } # XmRig-v6.18.0 is almost as fast but has no fee -) - -If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithm).PoolPorts }) { - - $Devices | Select-Object Type, Model -Unique | ForEach-Object { - - $Miner_Devices = $Devices | Where-Object Type -EQ $_.Type | Where-Object Model -EQ $_.Model - - $MinerAPIPort = [UInt16]($Config.APIPort + ($Miner_Devices | Select-Object -First 1 -ExpandProperty Id) + 1) - - # $Algorithms | Where-Object Type -EQ $_.Type | Select-Object | ConvertTo-Json | ConvertFrom-Json | ForEach-Object { - ($Algorithms | Where-Object Type -EQ $_.Type).PSObject.Copy() | ForEach-Object { - - # Windows 10 requires more memory on some algos - If ($_.Algorithm -match "Cuckaroo.*|Cuckoo.*" -and [System.Environment]::OSVersion.Version -ge [Version]"10.0.0.0") { $_.MinMemGB += 1 } - - If ($AvailableMiner_Devices = $Miner_Devices | Where-Object MemoryGB -ge ($_.MinMemGB + $_.MemReserveGB)) { - - $Miner_Name = (@($Name) + @($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices | Where-Object Model -EQ $Model).Count)x$Model" }) | Select-Object) -join '-' -replace ' ' - - # Get arguments for available miner devices - # $_.Arguments = Get-ArgumentsPerDevice -Arguments $_.Arguments -ExcludeArguments @("algo", "cuda", "opencl", "pers", "proto") -DeviceIDs $AvailableMiner_Devices.$DeviceEnumerator - - $_.Arguments += " --server $($MinerPools[0].($_.Algorithm).Host):$($MinerPools[0].($_.Algorithm).PoolPorts | Select-Object -Last 1)" - If ($MinerPools[0].($_.Algorithm).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithm).BaseName -in @("MiningPoolHub", "NiceHash")) { $_.Arguments += " --proto stratum" } - If ($MinerPools[0].($_.Algorithm).PoolPorts[1]) { $_.Arguments += " --ssl 1" } - $_.Arguments += " --user $($MinerPools[0].($_.Algorithm).User)" - $_.Arguments += " --pass $($MinerPools[0].($_.Algorithm).Pass)$(If ($MinerPools[0].($_.Algorithm).BaseName -eq "ProHashing" -and $_.Algorithm -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" - If ($MinerPools[0].($_.Algorithm).WorkerName) { $_.Arguments += " --worker $($MinerPools[0].($_.Algorithm).WorkerName)" } - IF ($MinerPools[0].($_.Algorithm).CoinName) { } - - # Apply tuning parameters - If ($Variables.UseMinerTweaks -eq $true) { $_.Arguments += $_.Tuning } - - # Contest ETH address (if ETH wallet is specified in config) - # $_.Arguments += If ($Config.Wallets.ETH) { " --contest_wallet $($Config.Wallets.ETH)" } Else { " --contest_wallet 0x92e6F22C1493289e6AD2768E1F502Fc5b414a287" } - - [PSCustomObject]@{ - Name = $Miner_Name - DeviceNames = $AvailableMiner_Devices.Name - Type = $AvailableMiner_Devices.Type - Path = $Path - Arguments = ("$($_.Arguments) --api $MinerAPIPort --watchdog 0 --devices $(($AvailableMiner_Devices.$DeviceEnumerator | Sort-Object -Unique | ForEach-Object { '{0:x}' -f $_ }) -join ' ')" -replace "\s+", " ").trim() - Algorithms = @($_.Algorithm) - API = "Gminer" - Port = $MinerAPIPort - URI = $Uri - Fee = $_.Fee - MinerUri = "http://localhost:$($MinerAPIPort)" - WarmupTimes = $_.WarmupTimes # First value: seconds until miner must send first sample, if no sample is received miner will be marked as failed; Second value: seconds until miner sends stable hashrates that will count for benchmarking - } - } - } - } -} diff --git a/Miners/GMiner-v3.09.ps1 b/Miners/GMiner-v3.09.ps1 new file mode 100644 index 0000000000..956e539d4f --- /dev/null +++ b/Miners/GMiner-v3.09.ps1 @@ -0,0 +1,95 @@ +using module ..\Includes\Include.psm1 + +If (-not ($Devices = $Variables.EnabledDevices | Where-Object { ($_.Type -eq "AMD" -and $_.OpenCL.ClVersion -ge "OpenCL C 1.2") -or $_.Type -eq"NVIDIA" })) { Return } + +$Uri = "https://github.com/develsoftware/GMinerRelease/releases/download/3.09/gminer_3_09_windows64.zip" +$Name = (Get-Item $MyInvocation.MyCommand.Path).BaseName +$Path = ".\Bin\$($Name)\miner.exe" +$DeviceEnumerator = "Type_Vendor_Slot" + +$Algorithms = [PSCustomObject[]]@( + [PSCustomObject]@{ Algorithms = @("Equihash1254"); Type = "AMD"; Fee = @(0.02); MinMemGB = 1.8; MemReserveGB = 0; Tuning = ""; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo equihash125_4 --cuda 0 --opencl 1" } # lolMiner-v1.61 is fastest + [PSCustomObject]@{ Algorithms = @("Equihash1445"); Type = "AMD"; Fee = @(0.02); MinMemGB = 1.8; MemReserveGB = 0; Tuning = ""; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo equihash144_5 $(Get-EquihashCoinPers -Command "--pers " -Currency $MinerPools[0].Equihash1445.Currency -DefaultCommand "--pers auto") --cuda 0 --opencl 1" } # lolMiner-v1.61 is fastest + [PSCustomObject]@{ Algorithms = @("Equihash2109"); Type = "AMD"; Fee = @(0.02); MinMemGB = 2.8; MemReserveGB = 0; Tuning = ""; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo equihash210_9 --cuda 0 --opencl 1" } # lolMiner-v1.61 is fastest + [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "AMD"; Fee = @(0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.41; Tuning = ""; MinerSet = 0; WarmupTimes = @(45, 0); Arguments = " --algo ethash --cuda 0 --opencl 1" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool + [PSCustomObject]@{ Algorithms = @("EthashLowMem"); Type = "AMD"; Fee = @(0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.41; Tuning = ""; MinerSet = 0; WarmupTimes = @(45, 0); Arguments = " --algo ethash --cuda 0 --opencl 1" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool + [PSCustomObject]@{ Algorithms = @("KawPoW"); Type = "AMD"; Fee = @(0.01); MinMemGB = $MinerPools[0].KawPoW.DAGSizeGB; MemReserveGB = 0.41; Tuning = ""; MinerSet = 0; WarmupTimes = @(30, 15); Arguments = " --algo kawpow --cuda 0 --opencl 1" } + + [PSCustomObject]@{ Algorithms = @("Autolykos2"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; Tuning = " --mt 2"; MinerSet = 0; WarmupTimes = @(30, 0); Arguments = " --algo autolykos2 --cuda 1 --opencl 0" } + [PSCustomObject]@{ Algorithms = @("Autolykos2"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; Tuning = " --mt 2"; MinerSet = 0; WarmupTimes = @(30, 0); Arguments = " --algo autolykos2 --cuda 1 --opencl 0" } + [PSCustomObject]@{ Algorithms = @("Cuckaroo30CTX"); Type = "NVIDIA"; Fee = @(0.05); MinMemGB = 8.0; MemReserveGB = 0; Tuning = " --mt 2"; MinerSet = 0; WarmupTimes = @(30, 0); Arguments = " --algo cortex --cuda 1 --opencl 0" } + [PSCustomObject]@{ Algorithms = @("Equihash1254"); Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 3.0; MemReserveGB = 0; Tuning = " --mt 2"; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo equihash125_4 --cuda 1 --opencl 0" } # MiniZ-v1.9z3 is fastest + [PSCustomObject]@{ Algorithms = @("Equihash1445"); Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 2.1; MemReserveGB = 0; Tuning = " --mt 2"; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo equihash144_5 $(Get-EquihashCoinPers -Command "--pers " -Currency $MinerPools[0].Equihash1445.Currency -DefaultCommand "--pers auto") --cuda 1 --opencl 0" } # MiniZ-v1.9z3 is fastest + [PSCustomObject]@{ Algorithms = @("Equihash2109"); Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 1.0; MemReserveGB = 0; Tuning = " --mt 2"; MinerSet = 0; WarmupTimes = @(45, 0); Arguments = " --algo equihash210_9 --cuda 1 --opencl 0" } + [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.41; Tuning = " --mt 2"; MinerSet = 0; WarmupTimes = @(45, 0); Arguments = " --algo etchash --cuda 1 --opencl 0" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool + [PSCustomObject]@{ Algorithms = @("EtcHash", "kHeavyHash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.41; Tuning = " --mt 2"; MinerSet = 0; WarmupTimes = @(45, 0); Arguments = " --algo etchash --dalgo kheavyhash --cuda 1 --opencl 0" } + [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.41; Tuning = " --mt 2"; MinerSet = 0; WarmupTimes = @(45, 0); Arguments = " --algo ethash --cuda 1 --opencl 0" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool + [PSCustomObject]@{ Algorithms = @("Ethash", "kHeavyHash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.41; Tuning = " --mt 2"; MinerSet = 0; WarmupTimes = @(45, 0); Arguments = " --algo ethash --dalgo kheavyhash --cuda 1 --opencl 0" } + [PSCustomObject]@{ Algorithms = @("EthashLowMem"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.41; Tuning = " --mt 2"; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo ethash --cuda 1 --opencl 0" } # TTMiner-v5.0.3 is fastest + [PSCustomObject]@{ Algorithms = @("EthashLowMem", "kHeavyHash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.41; Tuning = " --mt 2"; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo ethash --dalgo kheavyhash --cuda 1 --opencl 0" } + [PSCustomObject]@{ Algorithms = @("KawPoW"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = $MinerPools[0].KawPoW.DAGSizeGB; MemReserveGB = 0.41; Tuning = " --mt 2"; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo kawpow --cuda 1 --opencl 0" } + [PSCustomObject]@{ Algorithms = @("kHeavyHash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 2.0; MemReserveGB = 0.41; Tuning = " --mt 2"; MinerSet = 1; WarmupTimes = @(45, 0); Arguments = " --algo kaspa --cuda 1 --opencl 0" } # XmRig-v6.18.0 is almost as fast but has no fee +) + +If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithms[0]).PoolPorts -and (-not $_.Algorithms[1] -or $MinerPools[1].($_.Algorithms[1]).PoolPorts) }) { + + $Devices | Select-Object Type, Model -Unique | ForEach-Object { + + $Miner_Devices = $Devices | Where-Object Type -EQ $_.Type | Where-Object Model -EQ $_.Model + + $MinerAPIPort = [UInt16]($Config.APIPort + ($Miner_Devices | Select-Object -First 1 -ExpandProperty Id) + 1) + + # $Algorithms | Where-Object Type -EQ $_.Type | Select-Object | ConvertTo-Json | ConvertFrom-Json | ForEach-Object { + ($Algorithms | Where-Object Type -EQ $_.Type).PSObject.Copy() | ForEach-Object { + + # Windows 10 requires more memory on some algos + If ($_.Algorithms[0] -match "Cuckaroo.*|Cuckoo.*" -and [System.Environment]::OSVersion.Version -ge [Version]"10.0.0.0") { $_.MinMemGB += 1 } + + If ($AvailableMiner_Devices = $Miner_Devices | Where-Object MemoryGB -ge ($_.MinMemGB + $_.MemReserveGB)) { + + $Miner_Name = (@($Name) + @($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices | Where-Object Model -EQ $Model).Count)x$Model" }) | Select-Object) -join '-' -replace ' ' + + # Get arguments for available miner devices + # $_.Arguments = Get-ArgumentsPerDevice -Arguments $_.Arguments -ExcludeArguments @("algo", "cuda", "opencl", "pers", "proto") -DeviceIDs $AvailableMiner_Devices.$DeviceEnumerator + + $_.Arguments += " --server $($MinerPools[0].($_.Algorithms[0]).Host):$($MinerPools[0].($_.Algorithms[0]).PoolPorts | Select-Object -Last 1)" + If ($MinerPools[0].($_.Algorithms[0]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithms[0]).BaseName -in @("MiningPoolHub", "NiceHash")) { $_.Arguments += " --proto stratum" } + If ($MinerPools[0].($_.Algorithms[0]).PoolPorts[1]) { $_.Arguments += " --ssl 1" } + $_.Arguments += " --user $($MinerPools[0].($_.Algorithms[0]).User)" + $_.Arguments += " --pass $($MinerPools[0].($_.Algorithms[0]).Pass)$(If ($MinerPools[0].($_.Algorithms[0]).BaseName -eq "ProHashing" -and $_.Algorithms[0] -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" + If ($MinerPools[0].($_.Algorithms[0]).WorkerName) { $_.Arguments += " --worker $($MinerPools[0].($_.Algorithms[0]).WorkerName)" } + IF ($MinerPools[0].($_.Algorithms[0]).CoinName) { } + + If ($_.Algorithms[1]) { + $_.Arguments += " --dserver $($MinerPools[0].($_.Algorithms[1]).Host):$($MinerPools[0].($_.Algorithms[1]).PoolPorts | Select-Object -Last 1)" + If ($MinerPools[0].($_.Algorithms[1]).PoolPorts[1]) { $_.Arguments += " --dssl 1" } + $_.Arguments += " --duser $($MinerPools[0].($_.Algorithms[1]).User)" + $_.Arguments += " --dpass $($MinerPools[0].($_.Algorithms[1]).Pass)" + If ($MinerPools[0].($_.Algorithms[1]).WorkerName) { $_.Arguments += " --dworker $($MinerPools[0].($_.Algorithms[1]).WorkerName)" } + IF ($MinerPools[0].($_.Algorithms[1]).CoinName) { } + } + + # Apply tuning parameters + If ($Variables.UseMinerTweaks -eq $true) { $_.Arguments += $_.Tuning } + + # Contest ETH address (if ETH wallet is specified in config) + # $_.Arguments += If ($Config.Wallets.ETH) { " --contest_wallet $($Config.Wallets.ETH)" } Else { " --contest_wallet 0x92e6F22C1493289e6AD2768E1F502Fc5b414a287" } + + [PSCustomObject]@{ + Name = $Miner_Name + DeviceNames = $AvailableMiner_Devices.Name + Type = $AvailableMiner_Devices.Type + Path = $Path + Arguments = ("$($_.Arguments) --api $MinerAPIPort --watchdog 0 --devices $(($AvailableMiner_Devices.$DeviceEnumerator | Sort-Object -Unique | ForEach-Object { '{0:x}' -f $_ }) -join ' ')" -replace "\s+", " ").trim() + Algorithms = @($_.Algorithms[0], $_.Algorithms[1] | Select-Object) + API = "Gminer" + Port = $MinerAPIPort + URI = $Uri + Fee = $_.Fee + MinerUri = "http://localhost:$($MinerAPIPort)" + WarmupTimes = $_.WarmupTimes # First value: seconds until miner must send first sample, if no sample is received miner will be marked as failed; Second value: seconds until miner sends stable hashrates that will count for benchmarking + } + } + } + } +} diff --git a/Miners/Kudaraidee-v1.2.0a.ps1 b/Miners/Kudaraidee-v1.2.0a.ps1 index 9eb2dc2578..4960d57fe0 100644 --- a/Miners/Kudaraidee-v1.2.0a.ps1 +++ b/Miners/Kudaraidee-v1.2.0a.ps1 @@ -9,17 +9,17 @@ $DeviceEnumerator = @{ AMD = "Type_Index"; NVIDIA = "Type_Vendor_Index" } # Algorithm parameter values are case sensitive! $Algorithms = [PSCustomObject[]]@( - [PSCustomObject]@{ Algorithm = @("Argon2d250"); Type = "AMD"; MinMemGB = 2; Blocksize = 250; MinerSet = 1; WarmupTimes = @(60, 45); ExcludePool = @(); Arguments = " --algo argon2d250 --use-gpu OpenCL" } - [PSCustomObject]@{ Algorithm = @("Argon2d8192"); Type = "AMD"; MinMemGB = 2; Blocksize = 8192; MinerSet = 0; WarmupTimes = @(60, 45); ExcludePool = @(); Arguments = " --algo argon2d8192 --use-gpu OpenCL" } - [PSCustomObject]@{ Algorithm = @("Argon2d500"); Type = "AMD"; MinMemGB = 2; Blocksize = 500; MinerSet = 0; WarmupTimes = @(60, 45); ExcludePool = @(); Arguments = " --algo argon2d500 --use-gpu OpenCL" } - [PSCustomObject]@{ Algorithm = @("Argon2d4096"); Type = "AMD"; MinMemGB = 2; Blocksize = 4096; MinerSet = 0; WarmupTimes = @(60, 45); ExcludePool = @(); Arguments = " --algo argon2d4096 --use-gpu OpenCL" } - [PSCustomObject]@{ Algorithm = @("Argon2d16000"); Type = "AMD"; MinMemGB = 2; Blocksize = 16000; MinerSet = 0; WarmupTimes = @(60, 45); ExcludePool = @(); Arguments = " --algo argon2d16000 --use-gpu OpenCL" } - - [PSCustomObject]@{ Algorithm = @("Argon2d250"); Type = "NVIDIA"; MinMemGB = 2; Blocksize = 250; MinerSet = 0; WarmupTimes = @(60, 60); ExcludePool = @(); Arguments = " --algo argon2d250 --use-gpu CUDA" } - [PSCustomObject]@{ Algorithm = @("Argon2d8192"); Type = "NVIDIA"; MinMemGB = 2; Blocksize = 8192; MinerSet = 0; WarmupTimes = @(60, 60); ExcludePool = @(); Arguments = " --algo argon2d8192 --use-gpu CUDA" } - [PSCustomObject]@{ Algorithm = @("Argon2d500"); Type = "NVIDIA"; MinMemGB = 2; Blocksize = 500; MinerSet = 0; WarmupTimes = @(60, 60); ExcludePool = @(); Arguments = " --algo argon2d500 --use-gpu CUDA" } - [PSCustomObject]@{ Algorithm = @("Argon2d4096"); Type = "NVIDIA"; MinMemGB = 2; Blocksize = 4096; MinerSet = 0; WarmupTimes = @(60, 60); ExcludePool = @(); Arguments = " --algo argon2d4096 --use-gpu CUDA" } - [PSCustomObject]@{ Algorithm = @("Argon2d16000"); Type = "NVIDIA"; MinMemGB = 2; Blocksize = 16000; MinerSet = 0; WarmupTimes = @(60, 60); ExcludePool = @(); Arguments = " --algo argon2d16000 --use-gpu CUDA" } + [PSCustomObject]@{ Algorithm = "Argon2d250"; Type = "AMD"; MinMemGB = 2; Blocksize = 250; MinerSet = 1; WarmupTimes = @(60, 45); ExcludePool = @(); Arguments = " --algo argon2d250 --use-gpu OpenCL" } + [PSCustomObject]@{ Algorithm = "Argon2d8192"; Type = "AMD"; MinMemGB = 2; Blocksize = 8192; MinerSet = 0; WarmupTimes = @(60, 45); ExcludePool = @(); Arguments = " --algo argon2d8192 --use-gpu OpenCL" } + [PSCustomObject]@{ Algorithm = "Argon2d500"; Type = "AMD"; MinMemGB = 2; Blocksize = 500; MinerSet = 0; WarmupTimes = @(60, 45); ExcludePool = @(); Arguments = " --algo argon2d500 --use-gpu OpenCL" } + [PSCustomObject]@{ Algorithm = "Argon2d4096"; Type = "AMD"; MinMemGB = 2; Blocksize = 4096; MinerSet = 0; WarmupTimes = @(60, 45); ExcludePool = @(); Arguments = " --algo argon2d4096 --use-gpu OpenCL" } + [PSCustomObject]@{ Algorithm = "Argon2d16000"; Type = "AMD"; MinMemGB = 2; Blocksize = 16000; MinerSet = 0; WarmupTimes = @(60, 45); ExcludePool = @(); Arguments = " --algo argon2d16000 --use-gpu OpenCL" } + + [PSCustomObject]@{ Algorithm = "Argon2d250"; Type = "NVIDIA"; MinMemGB = 2; Blocksize = 250; MinerSet = 0; WarmupTimes = @(60, 60); ExcludePool = @(); Arguments = " --algo argon2d250 --use-gpu CUDA" } + [PSCustomObject]@{ Algorithm = "Argon2d8192"; Type = "NVIDIA"; MinMemGB = 2; Blocksize = 8192; MinerSet = 0; WarmupTimes = @(60, 60); ExcludePool = @(); Arguments = " --algo argon2d8192 --use-gpu CUDA" } + [PSCustomObject]@{ Algorithm = "Argon2d500"; Type = "NVIDIA"; MinMemGB = 2; Blocksize = 500; MinerSet = 0; WarmupTimes = @(60, 60); ExcludePool = @(); Arguments = " --algo argon2d500 --use-gpu CUDA" } + [PSCustomObject]@{ Algorithm = "Argon2d4096"; Type = "NVIDIA"; MinMemGB = 2; Blocksize = 4096; MinerSet = 0; WarmupTimes = @(60, 60); ExcludePool = @(); Arguments = " --algo argon2d4096 --use-gpu CUDA" } + [PSCustomObject]@{ Algorithm = "Argon2d16000"; Type = "NVIDIA"; MinMemGB = 2; Blocksize = 16000; MinerSet = 0; WarmupTimes = @(60, 60); ExcludePool = @(); Arguments = " --algo argon2d16000 --use-gpu CUDA" } ) If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithm).Host } | Where-Object { $MinerPools[0].($_.Algorithm).PoolPorts[0] }) { diff --git a/Miners/NBMiner-v42.3.ps1 b/Miners/NBMiner-v42.3.ps1 index f1731f1f09..f1f355d50e 100644 --- a/Miners/NBMiner-v42.3.ps1 +++ b/Miners/NBMiner-v42.3.ps1 @@ -15,7 +15,7 @@ $Algorithms = [PSCustomObject[]]@( [PSCustomObject]@{ Algorithm = "KawPoW"; Type = "AMD"; Fee = 0.02; MinMemGB = $MinerPools[0].KawPoW.DAGSizeGB; MemReserveGB = 0.41; AdditionalWin10MemGB = 0; MinerSet = 1; WarmupTimes = @(45, 15); 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; MinMemGB = 3; MemReserveGB = 0; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 0; Tuning = " -mt 1"; WarmupTimes = @(30, 0); Arguments = " --algo beamv3 --platform 1" } - [PSCustomObject]@{ Algorithm = "Cuckoo29"; Type = "NVIDIA"; Fee = 0.02; MinMemGB = 5; MemReserveGB = 0; AdditionalWin10MemGB = 1; MinComputeCapability = 6.0; MinerSet = 1; Tuning = " -mt 1"; WarmupTimes = @(30, 0); Arguments = " --algo cuckoo_ae --platform 1" } # GMiner-v3.08 is fastest + [PSCustomObject]@{ Algorithm = "Cuckoo29"; Type = "NVIDIA"; Fee = 0.02; MinMemGB = 5; MemReserveGB = 0; AdditionalWin10MemGB = 1; MinComputeCapability = 6.0; MinerSet = 1; Tuning = " -mt 1"; WarmupTimes = @(30, 0); Arguments = " --algo cuckoo_ae --platform 1" } # GMiner-v3.09 is fastest [PSCustomObject]@{ Algorithm = "Autolykos2"; Type = "NVIDIA"; Fee = 0.02; MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 0; Tuning = " -mt 1"; WarmupTimes = @(30, 0); Arguments = " --algo ergo --platform 1" } [PSCustomObject]@{ Algorithm = "EtcHash"; Type = "NVIDIA"; Fee = 0.01; MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.41; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 1; Tuning = " -mt 1"; WarmupTimes = @(45, 0); 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; MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.41; AdditionalWin10MemGB = 0; MinComputeCapability = 6.0; MinerSet = 1; Tuning = " -mt 1"; WarmupTimes = @(60, 0); Arguments = " --algo ethash --platform 1 --enable-dag-cache" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool diff --git a/Miners/PhoenixMiner-v6.2c.ps1 b/Miners/PhoenixMiner-v6.2c.ps1 index 5328735771..0f042220b9 100644 --- a/Miners/PhoenixMiner-v6.2c.ps1 +++ b/Miners/PhoenixMiner-v6.2c.ps1 @@ -8,26 +8,26 @@ $Path = ".\Bin\$($Name)\PhoenixMiner.exe" $DeviceEnumerator = "Type_Vendor_Slot" $Algorithms = [PSCustomObject[]]@( - [PSCustomObject]@{ Algorithm = @("EtcHash"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); Arguments = " -amd -eres 1 -coin ETC" } # GMiner-v3.08 is just as fast, PhoenixMiner-v6.2c is maybe faster, but I see lower speed at the pool - [PSCustomObject]@{ Algorithm = @("EtcHash", "Blake2s"); Type = "AMD"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); Arguments = " -amd -eres 1 -coin ETC -dcoin blake2s" } - [PSCustomObject]@{ Algorithm = @("Ethash"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); Arguments = " -amd -eres 1 -coin ETH" } # GMiner-v3.08 is just as fast, PhoenixMiner-v6.2c is maybe faster, but I see lower speed at the pool - [PSCustomObject]@{ Algorithm = @("Ethash", "Blake2s"); Type = "AMD"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); Arguments = " -amd -eres 1 -coin ETH -dcoin blake2s" } - # [PSCustomObject]@{ Algorithm = @("EthashLowMem"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); Arguments = " -amd -eres 1 -coin ETH" } # GMiner-v3.08 is just as fast, PhoenixMiner-v6.2c is maybe faster, but I see lower speed at the pool - # [PSCustomObject]@{ Algorithm = @("EthashLowMem", "Blake2s"); Type = "AMD"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @("RDNA1", "RDNA2"); Arguments = " -amd -eres 1 -coin ETH -dcoin blake2s" } - [PSCustomObject]@{ Algorithm = @("UbqHash"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); Arguments = " -amd -eres 1 -coin UBQ" } - [PSCustomObject]@{ Algorithm = @("UbqHash", "Blake2s"); Type = "AMD"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @("RDNA1", "RDNA2"); Arguments = " -amd -eres 1 -coin UBQ -dcoin blake2s" } + [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); Arguments = " -amd -eres 1 -coin ETC" } # GMiner-v3.09 is just as fast, PhoenixMiner-v6.2c is maybe faster, but I see lower speed at the pool + [PSCustomObject]@{ Algorithms = @("EtcHash", "Blake2s"); Type = "AMD"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); Arguments = " -amd -eres 1 -coin ETC -dcoin blake2s" } + [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); Arguments = " -amd -eres 1 -coin ETH" } # GMiner-v3.09 is just as fast, PhoenixMiner-v6.2c is maybe faster, but I see lower speed at the pool + [PSCustomObject]@{ Algorithms = @("Ethash", "Blake2s"); Type = "AMD"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); Arguments = " -amd -eres 1 -coin ETH -dcoin blake2s" } + # [PSCustomObject]@{ Algorithms = @("EthashLowMem"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); Arguments = " -amd -eres 1 -coin ETH" } # GMiner-v3.09 is just as fast, PhoenixMiner-v6.2c is maybe faster, but I see lower speed at the pool + # [PSCustomObject]@{ Algorithms = @("EthashLowMem", "Blake2s"); Type = "AMD"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @("RDNA1", "RDNA2"); Arguments = " -amd -eres 1 -coin ETH -dcoin blake2s" } + [PSCustomObject]@{ Algorithms = @("UbqHash"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); Arguments = " -amd -eres 1 -coin UBQ" } + [PSCustomObject]@{ Algorithms = @("UbqHash", "Blake2s"); Type = "AMD"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -straps 1"; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @("RDNA1", "RDNA2"); Arguments = " -amd -eres 1 -coin UBQ -dcoin blake2s" } - [PSCustomObject]@{ Algorithm = @("EtcHash"); Type = "NVIDIA"; Fee = @(0.0065); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin ETC" } # GMiner-v3.08 is just as fast, PhoenixMiner-v6.2c is maybe faster, but I see lower speed at the pool - [PSCustomObject]@{ Algorithm = @("EtcHash", "Blake2s"); Type = "NVIDIA"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin ETC -dcoin blake2s" } - [PSCustomObject]@{ Algorithm = @("Ethash"); Type = "NVIDIA"; Fee = @(0.0065); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin ETH" } # GMiner-v3.08 is just as fast, PhoenixMiner-v6.2c is maybe faster, but I see lower speed at the pool - [PSCustomObject]@{ Algorithm = @("Ethash", "Blake2s"); Type = "NVIDIA"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin ETH -dcoin blake2s" } - # [PSCustomObject]@{ Algorithm = @("EthashLowMem"); Type = "NVIDIA"; Fee = @(0.0065); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin ETH" } # TTMiner-v5.0.3 is fastest - # [PSCustomObject]@{ Algorithm = @("EthashLowMem", "Blake2s"); Type = "NVIDIA"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin ETH -dcoin blake2s" } - [PSCustomObject]@{ Algorithm = @("UbqHash"); Type = "NVIDIA"; Fee = @(0.0065); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin UBQ" } - [PSCustomObject]@{ Algorithm = @("UbqHash", "Blake2s"); Type = "NVIDIA"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin UBQ -dcoin blake2s" } + [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "NVIDIA"; Fee = @(0.0065); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin ETC" } # GMiner-v3.09 is just as fast, PhoenixMiner-v6.2c is maybe faster, but I see lower speed at the pool + [PSCustomObject]@{ Algorithms = @("EtcHash", "Blake2s"); Type = "NVIDIA"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin ETC -dcoin blake2s" } + [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "NVIDIA"; Fee = @(0.0065); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin ETH" } # GMiner-v3.09 is just as fast, PhoenixMiner-v6.2c is maybe faster, but I see lower speed at the pool + [PSCustomObject]@{ Algorithms = @("Ethash", "Blake2s"); Type = "NVIDIA"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin ETH -dcoin blake2s" } + # [PSCustomObject]@{ Algorithms = @("EthashLowMem"); Type = "NVIDIA"; Fee = @(0.0065); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin ETH" } # TTMiner-v5.0.3 is fastest + # [PSCustomObject]@{ Algorithms = @("EthashLowMem", "Blake2s"); Type = "NVIDIA"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin ETH -dcoin blake2s" } + [PSCustomObject]@{ Algorithms = @("UbqHash"); Type = "NVIDIA"; Fee = @(0.0065); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin UBQ" } + [PSCustomObject]@{ Algorithms = @("UbqHash", "Blake2s"); Type = "NVIDIA"; Fee = @(0.009, 0); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " -mi 12 -vmt1 15 -vmt2 12 -vmt3 0 -vmr 15 -mcdag 1"; WarmupTimes = @(45, 0); Arguments = " -nvidia -eres 1 -coin UBQ -dcoin blake2s" } ) -If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithm[0]).PoolPorts -and (-not $_.Algorithm[1] -or $MinerPools[1].($_.Algorithm[1]).PoolPorts) }) { +If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithms[0]).PoolPorts -and (-not $_.Algorithms[1] -or $MinerPools[1].($_.Algorithms[1]).PoolPorts) }) { # Intensities for 2. algorithm $IntensityValues = [PSCustomObject]@{ @@ -37,7 +37,7 @@ If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Whe # Build command sets for intensities $Algorithms = $Algorithms | ForEach-Object { $_.PsObject.Copy() - ForEach ($Intensity in ($IntensityValues.($_.Algorithm[1]) | Select-Object)) { + ForEach ($Intensity in ($IntensityValues.($_.Algorithms[1]) | Select-Object)) { $_ | Add-Member Intensity $Intensity -Force $_.PsObject.Copy() } @@ -55,7 +55,7 @@ If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Whe $ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture $AvailableMiner_Devices = $Miner_Devices | Where-Object MemoryGB -ge $MinMemGB | Where-Object { $_.Architecture -notin $ExcludeGPUArchitecture } - If ($_.Type -eq "AMD" -and $_.Algorithm[1]) { + If ($_.Type -eq "AMD" -and $_.Algorithms[1]) { If ($_.MinMemGB -gt 4) { Return } # AMD: doesn't support Blake2s dual mining with DAG above 4GB $AvailableMiner_Devices = $AvailableMiner_Devices | Where-Object { [Version]$_.CIM.DriverVersion -le [Version]"27.20.22023.1004" } # doesn't support Blake2s dual mining on drivers newer than 21.8.1 (27.20.22023.1004) } @@ -64,31 +64,31 @@ If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Whe If ($_.Type -eq "NVIDIA" -and $_.Intensity) { $_.Intensity *= 5 } # Nvidia allows much higher intensity - $Miner_Name = (@($Name) + @($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices | Where-Object Model -EQ $Model).Count)x$Model" }) + @(If ($_.Algorithm[1]) { "$($_.Algorithm[0])&$($_.Algorithm[1])" }) + @($_.Intensity) | Select-Object) -join '-' -replace ' ' + $Miner_Name = (@($Name) + @($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices | Where-Object Model -EQ $Model).Count)x$Model" }) + @(If ($_.Algorithms[1]) { "$($_.Algorithms[0])&$($_.Algorithms[1])" }) + @($_.Intensity) | Select-Object) -join '-' -replace ' ' # Get arguments for available miner devices # $_.Arguments = Get-ArgumentsPerDevice -Arguments $_.Arguments -ExcludeArguments @("amd", "eres", "nvidia") -DeviceIDs $AvailableMiner_Devices.$DeviceEnumerator - $_.Arguments += " -pool $(If ($MinerPools[0].($_.Algorithm[0]).PoolPorts[1]) { "ssl://" })$($MinerPools[0].($_.Algorithm[0]).Host):$($MinerPools[0].($_.Algorithm[0]).PoolPorts | Select-Object -Last 1) -wal $($MinerPools[0].($_.Algorithm[0]).User)" - If ($MinerPools[0].($_.Algorithm[0]).PoolPorts[1]) { $_.Arguments += " -weakssl" } - If ($MinerPools[0].($_.Algorithm[0]).WorkerName) { $_.Arguments += " -worker $($MinerPools[0].($_.Algorithm[0]).WorkerName)" } - $_.Arguments += " -pass $($MinerPools[0].($_.Algorithm[0]).Pass)$(If ($MinerPools[0].($_.Algorithm[0]).BaseName -eq "ProHashing" -and $_.Algorithm -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" + $_.Arguments += " -pool $(If ($MinerPools[0].($_.Algorithms[0]).PoolPorts[1]) { "ssl://" })$($MinerPools[0].($_.Algorithms[0]).Host):$($MinerPools[0].($_.Algorithms[0]).PoolPorts | Select-Object -Last 1) -wal $($MinerPools[0].($_.Algorithms[0]).User)" + If ($MinerPools[0].($_.Algorithms[0]).PoolPorts[1]) { $_.Arguments += " -weakssl" } + If ($MinerPools[0].($_.Algorithms[0]).WorkerName) { $_.Arguments += " -worker $($MinerPools[0].($_.Algorithms[0]).WorkerName)" } + $_.Arguments += " -pass $($MinerPools[0].($_.Algorithms[0]).Pass)$(If ($MinerPools[0].($_.Algorithms[0]).BaseName -eq "ProHashing" -and $_.Algorithm -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" - If ($MinerPools[0].($_.Algorithm[0]).DAGsizeGB -gt 0) { - If ($MinerPools[0].($_.Algorithm[0]).BaseName -in @("MiningPoolHub", "ProHashing")) { $_.Arguments += " -proto 1" } - ElseIf ($MinerPools[0].($_.Algorithm[0]).BaseName -eq "NiceHash") { $_.Arguments += " -proto 4" } + If ($MinerPools[0].($_.Algorithms[0]).DAGsizeGB -gt 0) { + If ($MinerPools[0].($_.Algorithms[0]).BaseName -in @("MiningPoolHub", "ProHashing")) { $_.Arguments += " -proto 1" } + ElseIf ($MinerPools[0].($_.Algorithms[0]).BaseName -eq "NiceHash") { $_.Arguments += " -proto 4" } } # kernel 3 does not support dual mining - If (($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum / 1GB -ge 2 * $MinMemGB -and -not $_.Algorithm[1]) { # Faster kernels require twice as much VRAM + If (($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum / 1GB -ge 2 * $MinMemGB -and -not $_.Algorithms[1]) { # Faster kernels require twice as much VRAM If ($AvailableMiner_Devices.Vendor -eq "AMD") { $_.Arguments += " -clkernel 3" } ElseIf ($AvailableMiner_Devices.Vendor -eq "NVIDIA") { $_.Arguments += " -nvkernel 3" } } - If ($_.Algorithm[1]) { - $_.Arguments += " -dpool $(If ($MinerPools[1].($_.Algorithm[1]).SSL) { "ssl://" })$($MinerPools[1].($_.Algorithm[1]).Host):$($MinerPools[0].($_.Algorithm[1]).PoolPorts | Select-Object -Last 1) -dwal $($MinerPools[1].($_.Algorithm[1]).User) -dpass $($MinerPools[1].($_.Algorithm[1]).Pass)" - # If ($MinerPools[1].($_.Algorithm[0]).PoolPorts[1]) { $_.Arguments += " -dweakssl" } #https://bitcointalk.org/index.php?topic=2647654.msg60898131#msg60898131 - If ($MinerPools[1].($_.Algorithm[1]).WorkerName) { $_.Arguments += " -dworker $($MinerPools[1].($_.Algorithm[1]).WorkerName)" } + If ($_.Algorithms[1]) { + $_.Arguments += " -dpool $(If ($MinerPools[1].($_.Algorithms[1]).SSL) { "ssl://" })$($MinerPools[1].($_.Algorithms[1]).Host):$($MinerPools[0].($_.Algorithms[1]).PoolPorts | Select-Object -Last 1) -dwal $($MinerPools[1].($_.Algorithms[1]).User) -dpass $($MinerPools[1].($_.Algorithms[1]).Pass)" + # If ($MinerPools[1].($_.Algorithms[0]).PoolPorts[1]) { $_.Arguments += " -dweakssl" } #https://bitcointalk.org/index.php?topic=2647654.msg60898131#msg60898131 + If ($MinerPools[1].($_.Algorithms[1]).WorkerName) { $_.Arguments += " -dworker $($MinerPools[1].($_.Algorithms[1]).WorkerName)" } If ($_.Intensity) { $_.Arguments += " -sci $($_.Intensity)" } } @@ -103,7 +103,7 @@ If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Whe Type = $AvailableMiner_Devices.Type Path = $Path Arguments = ("$($_.Arguments) -vmdag 0 -log 0 -wdog 0 -cdmport $MinerAPIPort -gpus $(($AvailableMiner_Devices.$DeviceEnumerator | Sort-Object -Unique | ForEach-Object { '{0:d}' -f ($_ + 1) }) -join ',')" -replace "\s+", " ").trim() - Algorithms = @($_.Algorithm[0], $_.Algorithm[1] | Select-Object) + Algorithms = @($_.Algorithms[0], $_.Algorithms[1] | Select-Object) API = "EthMiner" Port = $MinerAPIPort URI = $Uri diff --git a/Miners/SRBMinerMulti-v0.9.4.ps1 b/Miners/SRBMinerMulti-v0.9.4.ps1 index e2eb4ada7e..e23d2244fb 100644 --- a/Miners/SRBMinerMulti-v0.9.4.ps1 +++ b/Miners/SRBMinerMulti-v0.9.4.ps1 @@ -46,10 +46,6 @@ $Algorithms = [PSCustomObject[]]@( [PSCustomObject]@{ Algorithm = "Yescrypt"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(90, 30); Arguments = " --algorithm yescrypt" } ) -If ($MinerPools[0].CryptonightUpx.BaseName -ne "ZergPool" -or ($MinerPools[0].CryptonightUpx.PoolPort -and -not $MinerPools[0].CryptonightUpx.PoolPort[1])) { # SSL not working @ ZergPool, https://github.com/doktor83/SRBMiner-Multi/issues/135 - $Algorithms += [PSCustomObject]@{ Algorithm = @("CryptonightUpx"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(60, 30); ExcludePool = @(); Arguments = " --algorithm cryptonight_upx" } -} - If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithm).PoolPorts }) { $Devices | Select-Object Model -Unique | ForEach-Object { diff --git a/Miners/SRBMinerMulti-v1.0.1.ps1 b/Miners/SRBMinerMulti-v1.0.1.ps1 index ec0c953ceb..aeb9153584 100644 --- a/Miners/SRBMinerMulti-v1.0.1.ps1 +++ b/Miners/SRBMinerMulti-v1.0.1.ps1 @@ -9,13 +9,13 @@ $DeviceEnumerator = "Type_Vendor_Slot" # Algorithm parameter values are case sensitive! $Algorithms = [PSCustomObject[]]@( - [PSCustomObject]@{ Algorithm = @("Autolykos2", "HeavyHash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludePool = @(); Arguments = " --algorithm autolykos2 --algorithm heavyhash --gpu-dual-max-loss 5 --gpu-auto-tune 2" } - [PSCustomObject]@{ Algorithm = @("EtcHash", "HeavyHash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludePool = @(); Arguments = " --algorithm etchash --algorithm heavyhash --gpu-dual-max-loss 5 --gpu-auto-tune 2" } - [PSCustomObject]@{ Algorithm = @("Ethash", "Heavyhash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludePool = @(); Arguments = " --algorithm ethash --algorithm heavyhash --gpu-dual-max-loss 5 --gpu-auto-tune 2" } - [PSCustomObject]@{ Algorithm = @("EthashLowMem", "HeavyHash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludePool = @(); Arguments = " --algorithm ethash --algorithm heavyhash --gpu-dual-max-loss 5 --gpu-auto-tune 2" } + [PSCustomObject]@{ Algorithms = @("Autolykos2", "HeavyHash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludePool = @(); Arguments = " --algorithm autolykos2 --algorithm heavyhash --gpu-dual-max-loss 5 --gpu-auto-tune 2" } + [PSCustomObject]@{ Algorithms = @("EtcHash", "HeavyHash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludePool = @(); Arguments = " --algorithm etchash --algorithm heavyhash --gpu-dual-max-loss 5 --gpu-auto-tune 2" } + [PSCustomObject]@{ Algorithms = @("Ethash", "Heavyhash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludePool = @(); Arguments = " --algorithm ethash --algorithm heavyhash --gpu-dual-max-loss 5 --gpu-auto-tune 2" } + [PSCustomObject]@{ Algorithms = @("EthashLowMem", "HeavyHash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludePool = @(); Arguments = " --algorithm ethash --algorithm heavyhash --gpu-dual-max-loss 5 --gpu-auto-tune 2" } ) -If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithm[0]).PoolPorts -and (-not $_.Algorithm[1] -or $MinerPools[1].($_.Algorithm[1]).PoolPorts) }) { +If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithms[0]).PoolPorts -and (-not $_.Algorithms[1] -or $MinerPools[1].($_.Algorithms[1]).PoolPorts) }) { $Devices | Select-Object Type, Model -Unique | ForEach-Object { @@ -29,25 +29,25 @@ If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Whe If ($AvailableMiner_Devices = $Miner_Devices | Where-Object { $_.Type -eq "CPU" -or ($_.MemoryGB -gt $MinMemGB) }) { - $Miner_Name = (@($Name) + @($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices | Where-Object Model -EQ $Model).Count)x$Model" }) + @(If ($_.Algorithm[1]) { "$($_.Algorithm[0])&$($_.Algorithm[1])" }) | Select-Object) -join '-' -replace ' ' + $Miner_Name = (@($Name) + @($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices | Where-Object Model -EQ $Model).Count)x$Model" }) + @(If ($_.Algorithms[1]) { "$($_.Algorithms[0])&$($_.Algorithms[1])" }) | Select-Object) -join '-' -replace ' ' # Get arguments for available miner devices # $_.Arguments = Get-ArgumentsPerDevice -Arguments $_.Arguments -ExcludeArguments @("algorithm") -DeviceIDs $AvailableMiner_Devices.$DeviceEnumerator - $_.Arguments += " --pool $($MinerPools[0].($_.Algorithm[0]).Host):$($MinerPools[0].($_.Algorithm[0]).PoolPorts | Select-Object -Last 1) --wallet $($MinerPools[0].($_.Algorithm[0]).User)" - If ($MinerPools[0].($_.Algorithm[0]).WorkerName) { " --worker $($MinerPools[0].($_.Algorithm[0]).WorkerName)" } - $_.Arguments += " --password $($MinerPools[0].($_.Algorithm[0]).Pass)$(If ($MinerPools[0].($_.Algorithm[0]).BaseName -eq "ProHashing" -and $_.Algorithm -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" - If ($MinerPools[0].($_.Algorithm[0]).PoolPorts[1]) { $_.Arguments += " --tls true" } - If ($MinerPools[0].($_.Algorithm[0]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithm[0]).BaseName -in @("MiningPoolHub", "NiceHash", "ProHashing")) { $_.Arguments += " --nicehash true" } - If ($MinerPools[0].($_.Algorithm[0]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithm[0]).BaseName -eq "ProHashing") { $_.Arguments += " --esm 1" } - - If ($_.Algorithm[1]) { - $_.Arguments += " --pool $($MinerPools[0].($_.Algorithm[1]).Host):$($MinerPools[0].($_.Algorithm[1]).PoolPorts | Select-Object -Last 1) --wallet $($MinerPools[0].($_.Algorithm[1]).User)" - If ($MinerPools[0].($_.Algorithm[1]).WorkerName) { " --worker $($MinerPools[0].($_.Algorithm[1]).WorkerName)" } - $_.Arguments += " --password $($MinerPools[0].($_.Algorithm[1]).Pass)" - If ($MinerPools[0].($_.Algorithm[1]).PoolPorts[1]) { $_.Arguments += " --tls true" } - If ($MinerPools[0].($_.Algorithm[1]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithm[1]).BaseName -in @("MiningPoolHub", "NiceHash", "ProHashing")) { $_.Arguments += " --nicehash true" } - If ($MinerPools[0].($_.Algorithm[1]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithm[1]).BaseName -eq "ProHashing") { $_.Arguments += " --esm 1" } + $_.Arguments += " --pool $($MinerPools[0].($_.Algorithms[0]).Host):$($MinerPools[0].($_.Algorithms[0]).PoolPorts | Select-Object -Last 1) --wallet $($MinerPools[0].($_.Algorithms[0]).User)" + If ($MinerPools[0].($_.Algorithms[0]).WorkerName) { " --worker $($MinerPools[0].($_.Algorithms[0]).WorkerName)" } + $_.Arguments += " --password $($MinerPools[0].($_.Algorithms[0]).Pass)$(If ($MinerPools[0].($_.Algorithms[0]).BaseName -eq "ProHashing" -and $_.Algorithm -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" + If ($MinerPools[0].($_.Algorithms[0]).PoolPorts[1]) { $_.Arguments += " --tls true" } + If ($MinerPools[0].($_.Algorithms[0]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithms[0]).BaseName -in @("MiningPoolHub", "NiceHash", "ProHashing")) { $_.Arguments += " --nicehash true" } + If ($MinerPools[0].($_.Algorithms[0]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithms[0]).BaseName -eq "ProHashing") { $_.Arguments += " --esm 1" } + + If ($_.Algorithms[1]) { + $_.Arguments += " --pool $($MinerPools[0].($_.Algorithms[1]).Host):$($MinerPools[0].($_.Algorithms[1]).PoolPorts | Select-Object -Last 1) --wallet $($MinerPools[0].($_.Algorithms[1]).User)" + If ($MinerPools[0].($_.Algorithms[1]).WorkerName) { " --worker $($MinerPools[0].($_.Algorithms[1]).WorkerName)" } + $_.Arguments += " --password $($MinerPools[0].($_.Algorithms[1]).Pass)" + If ($MinerPools[0].($_.Algorithms[1]).PoolPorts[1]) { $_.Arguments += " --tls true" } + If ($MinerPools[0].($_.Algorithms[1]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithms[1]).BaseName -in @("MiningPoolHub", "NiceHash", "ProHashing")) { $_.Arguments += " --nicehash true" } + If ($MinerPools[0].($_.Algorithms[1]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithms[1]).BaseName -eq "ProHashing") { $_.Arguments += " --esm 1" } } If (($AvailableMiner_Devices.Type | Select-Object -Unique) -eq "CPU") { @@ -77,7 +77,7 @@ If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Whe Type = $AvailableMiner_Devices.Type Path = $Path Arguments = ("$($_.Arguments) --disable-workers-ramp-up --api-rig-name $($Config.WorkerName) --api-enable --api-port $MinerAPIPort" -replace "\s+", " ").trim() - Algorithms = @($_.Algorithm[0], $_.Algorithm[1] | Select-Object) + Algorithms = @($_.Algorithms[0], $_.Algorithms[1] | Select-Object) API = "SRBMiner" Port = $MinerAPIPort URI = $Uri diff --git a/Miners/SRBMinerMulti-v1.1.0.ps1 b/Miners/SRBMinerMulti-v1.1.0.ps1 index 94ab664243..6e35e765c6 100644 --- a/Miners/SRBMinerMulti-v1.1.0.ps1 +++ b/Miners/SRBMinerMulti-v1.1.0.ps1 @@ -9,136 +9,136 @@ $DeviceEnumerator = "Type_Vendor_Slot" # Algorithm parameter values are case sensitive! $Algorithms = [PSCustomObject[]]@( - [PSCustomObject]@{ Algorithm = @("0x10"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm 0x10" } - [PSCustomObject]@{ Algorithm = @("Argon2d16000"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm argon2d_16000" } - [PSCustomObject]@{ Algorithm = @("Argon2d500"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm argon2d_dynamic" } - [PSCustomObject]@{ Algorithm = @("Argon2Chukwa"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm argon2id_chukwa" } - [PSCustomObject]@{ Algorithm = @("Argon2Chukwa2"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm argon2id_chukwa2" } - [PSCustomObject]@{ Algorithm = @("Autolykos2"); Type = "AMD"; Fee = @(0.01); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm autolykos2" } -# [PSCustomObject]@{ Algorithm = @("Autolykos2", "HeavyHash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm autolykos2 --algorithm heavyhash" } - [PSCustomObject]@{ Algorithm = @("Blake2b"); Type = "AMD"; Fee = @(0); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @("Zpool") ; Arguments = " --algorithm blake2b" } # Algorithm broken - [PSCustomObject]@{ Algorithm = @("Blake2s"); Type = "AMD"; Fee = @(0); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm blake2s" } - [PSCustomObject]@{ Algorithm = @("Blake3"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm blake3_alephium" } - [PSCustomObject]@{ Algorithm = @("CircCash"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm circcash" } - [PSCustomObject]@{ Algorithm = @("CryptonightCcx"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm cryptonight_ccx" } - [PSCustomObject]@{ Algorithm = @("CryptonightGpu"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm cryptonight_gpu" } - [PSCustomObject]@{ Algorithm = @("CryptonightTalleo"); Type = "AMD"; Fee = @(0); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm cryptonight_talleo" } - [PSCustomObject]@{ Algorithm = @("CryptonightUpx"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm cryptonight_upx" } - [PSCustomObject]@{ Algorithm = @("CryptonightTurtle"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm cryptonight_turtle" } # TeamRedMiner-v0.10.4.1 is fastest - [PSCustomObject]@{ Algorithm = @("CryptonightHeavyXhv"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm cryptonight_xhv" } - [PSCustomObject]@{ Algorithm = @("CurveHash"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm curvehash" } - [PSCustomObject]@{ Algorithm = @("DynamoCoin"); Type = "AMD"; Fee = @(0.01); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm dynamo" } # Algorithm 'dynamo' supports only 'pool' mode (yiimp stratum compatibility removed) - [PSCustomObject]@{ Algorithm = @("EtcHash"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm etchash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool -# [PSCustomObject]@{ Algorithm = @("EtcHash", "HeavyHash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm etchash --algorithm heavyhash --gpu-auto-tune 2" } - [PSCustomObject]@{ Algorithm = @("Ethash"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm ethash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool -# [PSCustomObject]@{ Algorithm = @("Ethash", "Heavyhash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm ethash --algorithm heavyhash --gpu-auto-tune 2" } - [PSCustomObject]@{ Algorithm = @("EthashLowMem"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @("ProHashing"); Arguments = " --algorithm ethash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool -# [PSCustomObject]@{ Algorithm = @("EthashLowMem", "HeavyHash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm ethash --algorithm heavyhash --gpu-auto-tune 2" } - [PSCustomObject]@{ Algorithm = @("FiroPoW"); Type = "AMD"; Fee = @(0.0085); MinMemGB = $MinerPools[0].FiroPoW.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(60, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm firopow" } - [PSCustomObject]@{ Algorithm = @("FrkHash"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm frkhash" } - [PSCustomObject]@{ Algorithm = @("HeavyHash"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm heavyhash" } - [PSCustomObject]@{ Algorithm = @("Kangaroo12"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm k12" } - [PSCustomObject]@{ Algorithm = @("kHeavyHash"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm kaspa" } - [PSCustomObject]@{ Algorithm = @("KawPoW"); Type = "AMD"; Fee = @(0.0085); MinMemGB = $MinerPools[0].KawPoW.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm kawpow" } -# [PSCustomObject]@{ Algorithm = @("Keccak"); Type = "AMD"; Fee = @(0); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm keccak" } # ASIC - [PSCustomObject]@{ Algorithm = @("Lyra2v2Webchain"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm lyra2v2_webchain" } - [PSCustomObject]@{ Algorithm = @("ProgPoWEpic"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].ProgPoWEpic.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm progpow_epic" } - [PSCustomObject]@{ Algorithm = @("ProgPoWSero"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].ProgPoWSero.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm progpow_sero" } - [PSCustomObject]@{ Algorithm = @("ProgPoWVeil"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].ProgPoWVeil.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm progpow_veil" } - [PSCustomObject]@{ Algorithm = @("ProgPoWVeriblock"); Type = "AMD"; Fee = @(0.0065); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm progpow_veriblock" } - [PSCustomObject]@{ Algorithm = @("ProgPoWZ"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].ProgPoWZ.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm progpow_zano" } - [PSCustomObject]@{ Algorithm = @("Pufferfish2BMB"); Type = "AMD"; Fee = @(0.01); MinMemGB = 8; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @("Other"); ExcludePool = @() ; Arguments = " --algorithm pufferfish2bmb" } - [PSCustomObject]@{ Algorithm = @("SHA512256d"); Type = "AMD"; Fee = @(0.01); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm sha512_256d_radiant" } - [PSCustomObject]@{ Algorithm = @("SHA3d"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm sha3d" } - [PSCustomObject]@{ Algorithm = @("VerusHash"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm verushash" } - [PSCustomObject]@{ Algorithm = @("VertHash"); Type = "AMD"; Fee = @(0.0125); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm verthash --verthash-dat-path ..\..\Cache\VertHash.dat" } - [PSCustomObject]@{ Algorithm = @("Yescrypt"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm yescrypt" } - [PSCustomObject]@{ Algorithm = @("YescryptR8"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm yescryptr8" } - [PSCustomObject]@{ Algorithm = @("YescryptR16"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm yescryptr16" } - [PSCustomObject]@{ Algorithm = @("YescryptR32"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm yescryptr32" } - - [PSCustomObject]@{ Algorithm = @("0x10"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm 0x10" } - [PSCustomObject]@{ Algorithm = @("Argon2d16000"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 15); ExcludePool = @() ; Arguments = " --algorithm argon2d_16000" } - [PSCustomObject]@{ Algorithm = @("Argon2d500"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 15); ExcludePool = @() ; Arguments = " --algorithm argon2d_dynamic" } - [PSCustomObject]@{ Algorithm = @("Argon2Chukwa"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm argon2id_chukwa" } - [PSCustomObject]@{ Algorithm = @("Argon2Chukwa2"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm argon2id_chukwa2" } -# [PSCustomObject]@{ Algorithm = @("Autolykos2"); Type = "CPU"; Fee = @(0.01); MinerSet = 0; WarmupTimes = @(120, 15); ExcludePool = @() ; Arguments = " --algorithm autolykos2 --gpu-autolykos2-preload 3" } # Not profitable with CPU - [PSCustomObject]@{ Algorithm = @("Blake2b"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(90, 15); ExcludePool = @("Zpool"); Arguments = " --algorithm blake2b" } # Algo broken - [PSCustomObject]@{ Algorithm = @("Blake2s"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm blake2s" } - [PSCustomObject]@{ Algorithm = @("Blake3"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm blake3_alephium" } - [PSCustomObject]@{ Algorithm = @("CircCash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm circcash" } - [PSCustomObject]@{ Algorithm = @("CryptonightCcx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cryptonight_ccx" } - [PSCustomObject]@{ Algorithm = @("CryptonightGpu"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cryptonight_gpu" } - [PSCustomObject]@{ Algorithm = @("CryptonightTalleo"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cryptonight_talleo" } - [PSCustomObject]@{ Algorithm = @("CryptonightTurtle"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cryptonight_turtle" } - [PSCustomObject]@{ Algorithm = @("CryptonightUpx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cryptonight_upx" } - [PSCustomObject]@{ Algorithm = @("CryptonightHeavyxXhv"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cryptonight_xhv" } - [PSCustomObject]@{ Algorithm = @("Cosa"); Type = "CPU"; Fee = @(0.02); MinerSet = 0; WarmupTimes = @(60, 15); ExcludePool = @() ; Arguments = " --algorithm cosa" } - [PSCustomObject]@{ Algorithm = @("CpuPower"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cpupower" } - [PSCustomObject]@{ Algorithm = @("CurveHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm curvehash" } -# [PSCustomObject]@{ Algorithm = @("DynamoCoin"); Type = "CPU"; Fee = @(0.01); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm dynamo" } # Algorithm 'dynamo' supports only 'pool' mode (yiimp stratum compatibility removed) -# [PSCustomObject]@{ Algorithm = @("EtcHash"); Type = "CPU"; Fee = @(0.0065); MinerSet = 1; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm etchash" } # Not profitable with CPU -# [PSCustomObject]@{ Algorithm = @("Ethash"); Type = "CPU"; Fee = @(0.0065); MinerSet = 1; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm ethash" } # Not profitable with CPU -# [PSCustomObject]@{ Algorithm = @("EthashLowMem"); Type = "CPU"; Fee = @(0.0065); MinerSet = 1; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm ethash" } # Not profitable with CPU -# [PSCustomObject]@{ Algorithm = @("FiroPoW"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm firopow" } # Not profitable with CPU - [PSCustomObject]@{ Algorithm = @("FrkHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm frkhash" } - [PSCustomObject]@{ Algorithm = @("GhostRider"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm ghostrider" } - [PSCustomObject]@{ Algorithm = @("HeavyHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm heavyhash" } - [PSCustomObject]@{ Algorithm = @("K12"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm K12" } -# [PSCustomObject]@{ Algorithm = @("KawPoW"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm kawpow" } # Not profitable with CPU - [PSCustomObject]@{ Algorithm = @("kHeavyHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm kaspa" } -# [PSCustomObject]@{ Algorithm = @("Keccak"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm keccak" } # ASIC - [PSCustomObject]@{ Algorithm = @("Lyra2v2Webchain"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm lyra2v2_webchain" } - [PSCustomObject]@{ Algorithm = @("Mike"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm mike" } - [PSCustomObject]@{ Algorithm = @("Minotaur"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm minotaur" } - [PSCustomObject]@{ Algorithm = @("Minotaurx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm minotaurx" } - [PSCustomObject]@{ Algorithm = @("Panthera"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm panthera" } - [PSCustomObject]@{ Algorithm = @("ProgPoWEpic"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm progpow_epic" } - [PSCustomObject]@{ Algorithm = @("ProgPoWSero"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm progpow_sero" } - [PSCustomObject]@{ Algorithm = @("ProgPoWVeil"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm progpow_veil" } - [PSCustomObject]@{ Algorithm = @("ProgPoWVeriblock"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm progpow_veriblock" } - [PSCustomObject]@{ Algorithm = @("ProgPoWZ"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm progpow_zano" } - [PSCustomObject]@{ Algorithm = @("Pufferfish2BMB"); Type = "CPU"; Fee = @(0.01); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm pufferfish2bmb" } - [PSCustomObject]@{ Algorithm = @("SHA512256d"); Type = "CPU"; Fee = @(0.01); MinerSet = 0; WarmupTimes = @(30, 30); ExcludePool = @() ; Arguments = " --algorithm sha512_256d_radiant" } - [PSCustomObject]@{ Algorithm = @("RandomxArq"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm randomarq --randomx-use-1gb-pages" } - [PSCustomObject]@{ Algorithm = @("RandomxEpic"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm randomepic" } - [PSCustomObject]@{ Algorithm = @("RandomGrft"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm randomgrft --randomx-use-1gb-pages" } - [PSCustomObject]@{ Algorithm = @("RandomHash2"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm randomarq --randomx-use-1gb-pages" } - [PSCustomObject]@{ Algorithm = @("RandomL"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm randoml --randomx-use-1gb-pages" } - [PSCustomObject]@{ Algorithm = @("RandomSfx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm randomsfx --randomx-use-1gb-pages" } - [PSCustomObject]@{ Algorithm = @("RandomWow"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm randomwow --randomx-use-1gb-pages" } -# [PSCustomObject]@{ Algorithm = @("RandomX"); Type = "CPU"; Fee = @(0.0085); MinerSet = 1; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm randomx --randomx-use-1gb-pages" } # Not profitable at all - [PSCustomObject]@{ Algorithm = @("RandomxKeva"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm randomkeva --randomx-use-1gb-pages" } - [PSCustomObject]@{ Algorithm = @("RandomxL"); Type = "CPU"; Fee = @(0); MinerSet = 1; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm randomxl --randomx-use-1gb-pages" } # XmRig-v6.18.0 is fastest - [PSCustomObject]@{ Algorithm = @("RandomYada"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm randomyada" } - [PSCustomObject]@{ Algorithm = @("ScryptN2"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm scryptn2" } - [PSCustomObject]@{ Algorithm = @("SHA3d"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm sha3d" } -# [PSCustomObject]@{ Algorithm = @("UbqHash"); Type = "CPU"; Fee = @(0.0065); MinerSet = 1; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm ubqhash" } # Not profitable with CPU - [PSCustomObject]@{ Algorithm = @("VertHash"); Type = "CPU"; Fee = @(0.01); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm verthash --verthash-dat-path ..\..\Cache\VertHash.dat" } - [PSCustomObject]@{ Algorithm = @("VerusHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm verushash" } - [PSCustomObject]@{ Algorithm = @("Xdag"); Type = "CPU"; Fee = @(0.01); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm xdag" } - [PSCustomObject]@{ Algorithm = @("YescryptR16"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yescryptr16" } - [PSCustomObject]@{ Algorithm = @("YescryptR32"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yescryptr32" } - [PSCustomObject]@{ Algorithm = @("YescryptR8"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yescryptr8" } - [PSCustomObject]@{ Algorithm = @("Yespower"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespower" } - [PSCustomObject]@{ Algorithm = @("Yespower2b"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespower2b" } - [PSCustomObject]@{ Algorithm = @("YespowerARWN"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowerarwn" } - [PSCustomObject]@{ Algorithm = @("YespowerIc"); Type = "CPU"; Fee = @(0) ; MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespoweric" } - [PSCustomObject]@{ Algorithm = @("YespowerIots"); Type = "CPU"; Fee = @(0) ; MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespoweriots" } - [PSCustomObject]@{ Algorithm = @("YespowerItc"); Type = "CPU"; Fee = @(0) ; MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespoweritc" } - [PSCustomObject]@{ Algorithm = @("YespowerLitb"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowerlitb" } - [PSCustomObject]@{ Algorithm = @("YespowerLtncg"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowerltncg" } - [PSCustomObject]@{ Algorithm = @("YespowerMgpc"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowermgpc" } - [PSCustomObject]@{ Algorithm = @("YespowerR16"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowerr16" } - [PSCustomObject]@{ Algorithm = @("YespowerRes"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowerr16" } - [PSCustomObject]@{ Algorithm = @("YespowerSugar"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowersugar" } - [PSCustomObject]@{ Algorithm = @("YespowerTide"); Type = "CPU"; Fee = @(0); MinerSet = 1; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowertide" } - [PSCustomObject]@{ Algorithm = @("YespowerUrx"); Type = "CPU"; Fee = @(0); MinerSet = 1; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowerurx" } - [PSCustomObject]@{ Algorithm = @("Yescrypt"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(90, 0); ExcludePool = @() ; Arguments = " --algorithm yescrypt" } - [PSCustomObject]@{ Algorithm = @("Zentoshi"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm balloon_zentoshi" } + [PSCustomObject]@{ Algorithms = @("0x10"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm 0x10" } + [PSCustomObject]@{ Algorithms = @("Argon2d16000"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm argon2d_16000" } + [PSCustomObject]@{ Algorithms = @("Argon2d500"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm argon2d_dynamic" } + [PSCustomObject]@{ Algorithms = @("Argon2Chukwa"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm argon2id_chukwa" } + [PSCustomObject]@{ Algorithms = @("Argon2Chukwa2"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm argon2id_chukwa2" } + [PSCustomObject]@{ Algorithms = @("Autolykos2"); Type = "AMD"; Fee = @(0.01); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm autolykos2" } +# [PSCustomObject]@{ Algorithms = @("Autolykos2", "HeavyHash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm autolykos2 --algorithm heavyhash" } + [PSCustomObject]@{ Algorithms = @("Blake2b"); Type = "AMD"; Fee = @(0); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @("Zpool") ; Arguments = " --algorithm blake2b" } # Algorithm broken + [PSCustomObject]@{ Algorithms = @("Blake2s"); Type = "AMD"; Fee = @(0); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm blake2s" } + [PSCustomObject]@{ Algorithms = @("Blake3"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm blake3_alephium" } + [PSCustomObject]@{ Algorithms = @("CircCash"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm circcash" } + [PSCustomObject]@{ Algorithms = @("CryptonightCcx"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm cryptonight_ccx" } + [PSCustomObject]@{ Algorithms = @("CryptonightGpu"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm cryptonight_gpu" } + [PSCustomObject]@{ Algorithms = @("CryptonightTalleo"); Type = "AMD"; Fee = @(0); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm cryptonight_talleo" } + [PSCustomObject]@{ Algorithms = @("CryptonightUpx"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm cryptonight_upx" } + [PSCustomObject]@{ Algorithms = @("CryptonightTurtle"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm cryptonight_turtle" } # TeamRedMiner-v0.10.4.1 is fastest + [PSCustomObject]@{ Algorithms = @("CryptonightHeavyXhv"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm cryptonight_xhv" } + [PSCustomObject]@{ Algorithms = @("CurveHash"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm curvehash" } + [PSCustomObject]@{ Algorithms = @("DynamoCoin"); Type = "AMD"; Fee = @(0.01); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm dynamo" } # Algorithm 'dynamo' supports only 'pool' mode (yiimp stratum compatibility removed) + [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm etchash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool +# [PSCustomObject]@{ Algorithms = @("EtcHash", "HeavyHash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm etchash --algorithm heavyhash --gpu-auto-tune 2" } + [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm ethash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool +# [PSCustomObject]@{ Algorithms = @("Ethash", "Heavyhash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm ethash --algorithm heavyhash --gpu-auto-tune 2" } + [PSCustomObject]@{ Algorithms = @("EthashLowMem"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @("ProHashing"); Arguments = " --algorithm ethash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool +# [PSCustomObject]@{ Algorithms = @("EthashLowMem", "HeavyHash"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm ethash --algorithm heavyhash --gpu-auto-tune 2" } + [PSCustomObject]@{ Algorithms = @("FiroPoW"); Type = "AMD"; Fee = @(0.0085); MinMemGB = $MinerPools[0].FiroPoW.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(60, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm firopow" } + [PSCustomObject]@{ Algorithms = @("FrkHash"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm frkhash" } + [PSCustomObject]@{ Algorithms = @("HeavyHash"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm heavyhash" } + [PSCustomObject]@{ Algorithms = @("Kangaroo12"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm k12" } + [PSCustomObject]@{ Algorithms = @("kHeavyHash"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm kaspa" } + [PSCustomObject]@{ Algorithms = @("KawPoW"); Type = "AMD"; Fee = @(0.0085); MinMemGB = $MinerPools[0].KawPoW.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(90, 75); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm kawpow" } +# [PSCustomObject]@{ Algorithms = @("Keccak"); Type = "AMD"; Fee = @(0); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm keccak" } # ASIC + [PSCustomObject]@{ Algorithms = @("Lyra2v2Webchain"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm lyra2v2_webchain" } + [PSCustomObject]@{ Algorithms = @("ProgPoWEpic"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].ProgPoWEpic.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm progpow_epic" } + [PSCustomObject]@{ Algorithms = @("ProgPoWSero"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].ProgPoWSero.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm progpow_sero" } + [PSCustomObject]@{ Algorithms = @("ProgPoWVeil"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].ProgPoWVeil.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm progpow_veil" } + [PSCustomObject]@{ Algorithms = @("ProgPoWVeriblock"); Type = "AMD"; Fee = @(0.0065); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm progpow_veriblock" } + [PSCustomObject]@{ Algorithms = @("ProgPoWZ"); Type = "AMD"; Fee = @(0.0065); MinMemGB = $MinerPools[0].ProgPoWZ.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm progpow_zano" } + [PSCustomObject]@{ Algorithms = @("Pufferfish2BMB"); Type = "AMD"; Fee = @(0.01); MinMemGB = 8; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @("Other"); ExcludePool = @() ; Arguments = " --algorithm pufferfish2bmb" } + [PSCustomObject]@{ Algorithms = @("SHA512256d"); Type = "AMD"; Fee = @(0.01); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm sha512_256d_radiant" } + [PSCustomObject]@{ Algorithms = @("SHA3d"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm sha3d" } + [PSCustomObject]@{ Algorithms = @("VerusHash"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm verushash" } + [PSCustomObject]@{ Algorithms = @("VertHash"); Type = "AMD"; Fee = @(0.0125); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm verthash --verthash-dat-path ..\..\Cache\VertHash.dat" } + [PSCustomObject]@{ Algorithms = @("Yescrypt"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm yescrypt" } + [PSCustomObject]@{ Algorithms = @("YescryptR8"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm yescryptr8" } + [PSCustomObject]@{ Algorithms = @("YescryptR16"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm yescryptr16" } + [PSCustomObject]@{ Algorithms = @("YescryptR32"); Type = "AMD"; Fee = @(0.0085); MinMemGB = 1; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePool = @() ; Arguments = " --algorithm yescryptr32" } + + [PSCustomObject]@{ Algorithms = @("0x10"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm 0x10" } + [PSCustomObject]@{ Algorithms = @("Argon2d16000"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 15); ExcludePool = @() ; Arguments = " --algorithm argon2d_16000" } + [PSCustomObject]@{ Algorithms = @("Argon2d500"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 15); ExcludePool = @() ; Arguments = " --algorithm argon2d_dynamic" } + [PSCustomObject]@{ Algorithms = @("Argon2Chukwa"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm argon2id_chukwa" } + [PSCustomObject]@{ Algorithms = @("Argon2Chukwa2"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm argon2id_chukwa2" } +# [PSCustomObject]@{ Algorithms = @("Autolykos2"); Type = "CPU"; Fee = @(0.01); MinerSet = 0; WarmupTimes = @(120, 15); ExcludePool = @() ; Arguments = " --algorithm autolykos2 --gpu-autolykos2-preload 3" } # Not profitable with CPU + [PSCustomObject]@{ Algorithms = @("Blake2b"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(90, 15); ExcludePool = @("Zpool"); Arguments = " --algorithm blake2b" } # Algo broken + [PSCustomObject]@{ Algorithms = @("Blake2s"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm blake2s" } + [PSCustomObject]@{ Algorithms = @("Blake3"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm blake3_alephium" } + [PSCustomObject]@{ Algorithms = @("CircCash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm circcash" } + [PSCustomObject]@{ Algorithms = @("CryptonightCcx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cryptonight_ccx" } + [PSCustomObject]@{ Algorithms = @("CryptonightGpu"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cryptonight_gpu" } + [PSCustomObject]@{ Algorithms = @("CryptonightTalleo"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cryptonight_talleo" } + [PSCustomObject]@{ Algorithms = @("CryptonightTurtle"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cryptonight_turtle" } + [PSCustomObject]@{ Algorithms = @("CryptonightUpx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cryptonight_upx" } + [PSCustomObject]@{ Algorithms = @("CryptonightHeavyxXhv"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cryptonight_xhv" } + [PSCustomObject]@{ Algorithms = @("Cosa"); Type = "CPU"; Fee = @(0.02); MinerSet = 0; WarmupTimes = @(60, 15); ExcludePool = @() ; Arguments = " --algorithm cosa" } + [PSCustomObject]@{ Algorithms = @("CpuPower"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm cpupower" } + [PSCustomObject]@{ Algorithms = @("CurveHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm curvehash" } +# [PSCustomObject]@{ Algorithms = @("DynamoCoin"); Type = "CPU"; Fee = @(0.01); MinerSet = 0; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm dynamo" } # Algorithm 'dynamo' supports only 'pool' mode (yiimp stratum compatibility removed) +# [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "CPU"; Fee = @(0.0065); MinerSet = 1; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm etchash" } # Not profitable with CPU +# [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "CPU"; Fee = @(0.0065); MinerSet = 1; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm ethash" } # Not profitable with CPU +# [PSCustomObject]@{ Algorithms = @("EthashLowMem"); Type = "CPU"; Fee = @(0.0065); MinerSet = 1; WarmupTimes = @(30, 15); ExcludePool = @() ; Arguments = " --algorithm ethash" } # Not profitable with CPU +# [PSCustomObject]@{ Algorithms = @("FiroPoW"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm firopow" } # Not profitable with CPU + [PSCustomObject]@{ Algorithms = @("FrkHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm frkhash" } + [PSCustomObject]@{ Algorithms = @("GhostRider"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm ghostrider" } + [PSCustomObject]@{ Algorithms = @("HeavyHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm heavyhash" } + [PSCustomObject]@{ Algorithms = @("K12"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm K12" } +# [PSCustomObject]@{ Algorithms = @("KawPoW"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm kawpow" } # Not profitable with CPU + [PSCustomObject]@{ Algorithms = @("kHeavyHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm kaspa" } +# [PSCustomObject]@{ Algorithms = @("Keccak"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm keccak" } # ASIC + [PSCustomObject]@{ Algorithms = @("Lyra2v2Webchain"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm lyra2v2_webchain" } + [PSCustomObject]@{ Algorithms = @("Mike"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm mike" } + [PSCustomObject]@{ Algorithms = @("Minotaur"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm minotaur" } + [PSCustomObject]@{ Algorithms = @("Minotaurx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm minotaurx" } + [PSCustomObject]@{ Algorithms = @("Panthera"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm panthera" } + [PSCustomObject]@{ Algorithms = @("ProgPoWEpic"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm progpow_epic" } + [PSCustomObject]@{ Algorithms = @("ProgPoWSero"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm progpow_sero" } + [PSCustomObject]@{ Algorithms = @("ProgPoWVeil"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm progpow_veil" } + [PSCustomObject]@{ Algorithms = @("ProgPoWVeriblock"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm progpow_veriblock" } + [PSCustomObject]@{ Algorithms = @("ProgPoWZ"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm progpow_zano" } + [PSCustomObject]@{ Algorithms = @("Pufferfish2BMB"); Type = "CPU"; Fee = @(0.01); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm pufferfish2bmb" } + [PSCustomObject]@{ Algorithms = @("SHA512256d"); Type = "CPU"; Fee = @(0.01); MinerSet = 0; WarmupTimes = @(30, 30); ExcludePool = @() ; Arguments = " --algorithm sha512_256d_radiant" } + [PSCustomObject]@{ Algorithms = @("RandomxArq"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm randomarq --randomx-use-1gb-pages" } + [PSCustomObject]@{ Algorithms = @("RandomxEpic"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm randomepic" } + [PSCustomObject]@{ Algorithms = @("RandomGrft"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm randomgrft --randomx-use-1gb-pages" } + [PSCustomObject]@{ Algorithms = @("RandomHash2"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm randomarq --randomx-use-1gb-pages" } + [PSCustomObject]@{ Algorithms = @("RandomL"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm randoml --randomx-use-1gb-pages" } + [PSCustomObject]@{ Algorithms = @("RandomSfx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm randomsfx --randomx-use-1gb-pages" } + [PSCustomObject]@{ Algorithms = @("RandomWow"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm randomwow --randomx-use-1gb-pages" } +# [PSCustomObject]@{ Algorithms = @("RandomX"); Type = "CPU"; Fee = @(0.0085); MinerSet = 1; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm randomx --randomx-use-1gb-pages" } # Not profitable at all + [PSCustomObject]@{ Algorithms = @("RandomxKeva"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm randomkeva --randomx-use-1gb-pages" } + [PSCustomObject]@{ Algorithms = @("RandomxL"); Type = "CPU"; Fee = @(0); MinerSet = 1; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm randomxl --randomx-use-1gb-pages" } # XmRig-v6.18.0 is fastest + [PSCustomObject]@{ Algorithms = @("RandomYada"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm randomyada" } + [PSCustomObject]@{ Algorithms = @("ScryptN2"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm scryptn2" } + [PSCustomObject]@{ Algorithms = @("SHA3d"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm sha3d" } +# [PSCustomObject]@{ Algorithms = @("UbqHash"); Type = "CPU"; Fee = @(0.0065); MinerSet = 1; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm ubqhash" } # Not profitable with CPU + [PSCustomObject]@{ Algorithms = @("VertHash"); Type = "CPU"; Fee = @(0.01); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm verthash --verthash-dat-path ..\..\Cache\VertHash.dat" } + [PSCustomObject]@{ Algorithms = @("VerusHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(30, 0); ExcludePool = @() ; Arguments = " --algorithm verushash" } + [PSCustomObject]@{ Algorithms = @("Xdag"); Type = "CPU"; Fee = @(0.01); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm xdag" } + [PSCustomObject]@{ Algorithms = @("YescryptR16"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yescryptr16" } + [PSCustomObject]@{ Algorithms = @("YescryptR32"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yescryptr32" } + [PSCustomObject]@{ Algorithms = @("YescryptR8"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yescryptr8" } + [PSCustomObject]@{ Algorithms = @("Yespower"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespower" } + [PSCustomObject]@{ Algorithms = @("Yespower2b"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespower2b" } + [PSCustomObject]@{ Algorithms = @("YespowerARWN"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowerarwn" } + [PSCustomObject]@{ Algorithms = @("YespowerIc"); Type = "CPU"; Fee = @(0) ; MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespoweric" } + [PSCustomObject]@{ Algorithms = @("YespowerIots"); Type = "CPU"; Fee = @(0) ; MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespoweriots" } + [PSCustomObject]@{ Algorithms = @("YespowerItc"); Type = "CPU"; Fee = @(0) ; MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespoweritc" } + [PSCustomObject]@{ Algorithms = @("YespowerLitb"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowerlitb" } + [PSCustomObject]@{ Algorithms = @("YespowerLtncg"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowerltncg" } + [PSCustomObject]@{ Algorithms = @("YespowerMgpc"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowermgpc" } + [PSCustomObject]@{ Algorithms = @("YespowerR16"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowerr16" } + [PSCustomObject]@{ Algorithms = @("YespowerRes"); Type = "CPU"; Fee = @(0); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowerr16" } + [PSCustomObject]@{ Algorithms = @("YespowerSugar"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowersugar" } + [PSCustomObject]@{ Algorithms = @("YespowerTide"); Type = "CPU"; Fee = @(0); MinerSet = 1; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowertide" } + [PSCustomObject]@{ Algorithms = @("YespowerUrx"); Type = "CPU"; Fee = @(0); MinerSet = 1; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm yespowerurx" } + [PSCustomObject]@{ Algorithms = @("Yescrypt"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(90, 0); ExcludePool = @() ; Arguments = " --algorithm yescrypt" } + [PSCustomObject]@{ Algorithms = @("Zentoshi"); Type = "CPU"; Fee = @(0.0085); MinerSet = 0; WarmupTimes = @(60, 0); ExcludePool = @() ; Arguments = " --algorithm balloon_zentoshi" } ) -If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithm[0]).PoolPorts -and (-not $_.Algorithm[1] -or $MinerPools[1].($_.Algorithm[1]).PoolPorts) }) { +If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithms[0]).PoolPorts -and (-not $_.Algorithms[1] -or $MinerPools[1].($_.Algorithms[1]).PoolPorts) }) { $Devices | Select-Object Type, Model -Unique | ForEach-Object { @@ -153,25 +153,25 @@ If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Whe If ($AvailableMiner_Devices = $Miner_Devices | Where-Object { $_.Type -eq "CPU" -or ($_.MemoryGB -gt $MinMemGB) } | Where-Object { $_.Architecture -notin $ExcludeGPUArchitecture }) { - $Miner_Name = (@($Name) + @($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices | Where-Object Model -EQ $Model).Count)x$Model" }) + @(If ($_.Algorithm[1]) { "$($_.Algorithm[0])&$($_.Algorithm[1])" }) | Select-Object) -join '-' -replace ' ' + $Miner_Name = (@($Name) + @($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices | Where-Object Model -EQ $Model).Count)x$Model" }) + @(If ($_.Algorithms[1]) { "$($_.Algorithms[0])&$($_.Algorithms[1])" }) | Select-Object) -join '-' -replace ' ' # Get arguments for available miner devices # $_.Arguments = Get-ArgumentsPerDevice -Arguments $_.Arguments -ExcludeArguments @("algorithm") -DeviceIDs $AvailableMiner_Devices.$DeviceEnumerator - $_.Arguments += " --pool $($MinerPools[0].($_.Algorithm[0]).Host):$($MinerPools[0].($_.Algorithm[0]).PoolPorts | Select-Object -Last 1) --wallet $($MinerPools[0].($_.Algorithm[0]).User)" - If ($MinerPools[0].($_.Algorithm[0]).WorkerName) { " --worker $($MinerPools[0].($_.Algorithm[0]).WorkerName)" } - $_.Arguments += " --password $($MinerPools[0].($_.Algorithm[0]).Pass)$(If ($MinerPools[0].($_.Algorithm[0]).BaseName -eq "ProHashing" -and $_.Algorithm -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" - If ($MinerPools[0].($_.Algorithm[0]).PoolPorts[1]) { $_.Arguments += " --tls true" } - If ($MinerPools[0].($_.Algorithm[0]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithm[0]).BaseName -in @("MiningPoolHub", "NiceHash", "ProHashing")) { $_.Arguments += " --nicehash true" } - If ($MinerPools[0].($_.Algorithm[0]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithm[0]).BaseName -eq "ProHashing") { $_.Arguments += " --esm 1" } - - If ($_.Algorithm[1]) { - $_.Arguments += " --pool $($MinerPools[0].($_.Algorithm[1]).Host):$($MinerPools[0].($_.Algorithm[1]).PoolPorts | Select-Object -Last 1) --wallet $($MinerPools[0].($_.Algorithm[1]).User)" - If ($MinerPools[0].($_.Algorithm[1]).WorkerName) { $_.Arguments += " --worker $($MinerPools[0].($_.Algorithm[1]).WorkerName)" } - $_.Arguments += " --password $($MinerPools[0].($_.Algorithm[1]).Pass)" - If ($MinerPools[0].($_.Algorithm[1]).PoolPorts[1]) { $_.Arguments += " --tls true" } - If ($MinerPools[0].($_.Algorithm[1]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithm[1]).BaseName -in @("MiningPoolHub", "NiceHash", "ProHashing")) { $_.Arguments += " --nicehash true" } - If ($MinerPools[0].($_.Algorithm[1]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithm[1]).BaseName -eq "ProHashing") { $_.Arguments += " --esm 1" } + $_.Arguments += " --pool $($MinerPools[0].($_.Algorithms[0]).Host):$($MinerPools[0].($_.Algorithms[0]).PoolPorts | Select-Object -Last 1) --wallet $($MinerPools[0].($_.Algorithms[0]).User)" + If ($MinerPools[0].($_.Algorithms[0]).WorkerName) { " --worker $($MinerPools[0].($_.Algorithms[0]).WorkerName)" } + $_.Arguments += " --password $($MinerPools[0].($_.Algorithms[0]).Pass)$(If ($MinerPools[0].($_.Algorithms[0]).BaseName -eq "ProHashing" -and $_.Algorithm -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" + If ($MinerPools[0].($_.Algorithms[0]).PoolPorts[1]) { $_.Arguments += " --tls true" } + If ($MinerPools[0].($_.Algorithms[0]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithms[0]).BaseName -in @("MiningPoolHub", "NiceHash", "ProHashing")) { $_.Arguments += " --nicehash true" } + If ($MinerPools[0].($_.Algorithms[0]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithms[0]).BaseName -eq "ProHashing") { $_.Arguments += " --esm 1" } + + If ($_.Algorithms[1]) { + $_.Arguments += " --pool $($MinerPools[0].($_.Algorithms[1]).Host):$($MinerPools[0].($_.Algorithms[1]).PoolPorts | Select-Object -Last 1) --wallet $($MinerPools[0].($_.Algorithms[1]).User)" + If ($MinerPools[0].($_.Algorithms[1]).WorkerName) { $_.Arguments += " --worker $($MinerPools[0].($_.Algorithms[1]).WorkerName)" } + $_.Arguments += " --password $($MinerPools[0].($_.Algorithms[1]).Pass)" + If ($MinerPools[0].($_.Algorithms[1]).PoolPorts[1]) { $_.Arguments += " --tls true" } + If ($MinerPools[0].($_.Algorithms[1]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithms[1]).BaseName -in @("MiningPoolHub", "NiceHash", "ProHashing")) { $_.Arguments += " --nicehash true" } + If ($MinerPools[0].($_.Algorithms[1]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithms[1]).BaseName -eq "ProHashing") { $_.Arguments += " --esm 1" } } If (($AvailableMiner_Devices.Type | Select-Object -Unique) -eq "CPU") { @@ -201,7 +201,7 @@ If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Whe Type = $AvailableMiner_Devices.Type Path = $Path Arguments = ("$($_.Arguments) --disable-workers-ramp-up --api-rig-name $($Config.WorkerName) --api-enable --api-port $MinerAPIPort" -replace "\s+", " ").trim() - Algorithms = @($_.Algorithm[0], $_.Algorithm[1] | Select-Object) + Algorithms = @($_.Algorithms[0], $_.Algorithms[1] | Select-Object) API = "SRBMiner" Port = $MinerAPIPort URI = $Uri diff --git a/Miners/Trex-v0.26.8.ps1 b/Miners/Trex-v0.26.8.ps1 index 84346e20f9..6675dd0b57 100644 --- a/Miners/Trex-v0.26.8.ps1 +++ b/Miners/Trex-v0.26.8.ps1 @@ -8,31 +8,31 @@ $Path = ".\Bin\$($Name)\t-rex.exe" $DeviceEnumerator = "Type_Vendor_Index" $Algorithms = [PSCustomObject[]]@( - [PSCustomObject]@{ Algorithm = @("Autolykos2"); Fee = @(0.02); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(45, 30); Arguments = " --algo autolykos2 --intensity 25" } - [PSCustomObject]@{ Algorithm = @("Blake3"); Fee = @(0.01); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(45, 0); Arguments = " --algo blake3 --intensity 25" } - [PSCustomObject]@{ Algorithm = @("EtcHash"); Fee = @(0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo etchash --intensity 25" } # GMiner-v3.08 is fastest - [PSCustomObject]@{ Algorithm = @("Ethash"); Fee = @(0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo ethash --intensity 25" } # GMiner-v3.08 is fastest - [PSCustomObject]@{ Algorithm = @("EtcHash", "Blake3"); Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].EtcHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo etchash --dual-algo blake3 --lhr-tune -1 --lhr-autotune-interval 1" } - [PSCustomObject]@{ Algorithm = @("Ethash", "Autolykos2"); Fee = @(0.01, 0.02); MinMemGB = 8; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo ethash --dual-algo autolykos2 --lhr-tune -1 --lhr-autotune-interval 1" } - [PSCustomObject]@{ Algorithm = @("Ethash", "Blake3"); Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo ethash --dual-algo blake3 --lhr-tune -1 --lhr-autotune-interval 1" } - [PSCustomObject]@{ Algorithm = @("Ethash", "FiroPoW"); Fee = @(0.01, 0.01); MinMemGB = 10; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(255, 15); Arguments = " --algo ethash --dual-algo firopow --lhr-tune -1" } - [PSCustomObject]@{ Algorithm = @("Ethash", "KawPoW"); Fee = @(0.01, 0.01); MinMemGB = 10; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(255, 15); Arguments = " --algo ethash --dual-algo kawpow --lhr-tune -1" } - [PSCustomObject]@{ Algorithm = @("Ethash", "Octopus"); Fee = @(0.01, 0.02); MinMemGB = 8; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo ethash --dual-algo octopus --lhr-tune -1" } - [PSCustomObject]@{ Algorithm = @("EthashLowMem"); Fee = @(0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo ethash --intensity 25" } # TTMiner-v5.0.3 is fastest - [PSCustomObject]@{ Algorithm = @("FiroPoW"); Fee = @(0.01); MinMemGB = $MinerPools[0].FiroPoW.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo firopow --intensity 25" } - [PSCustomObject]@{ Algorithm = @("KawPoW"); Fee = @(0.01); MinMemGB = $MinerPools[0].KawPoW.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(45, 0); Arguments = " --algo kawpow --intensity 25" } # XmRig-v6.18.0 is almost as fast but has no fee - [PSCustomObject]@{ Algorithm = @("MTP"); Fee = @(0.01); MinMemGB = 3; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 15); Arguments = " --algo mtp --intensity 21" } - [PSCustomObject]@{ Algorithm = @("MTPTcr"); Fee = @(0.01); MinMemGB = 3; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 15); Arguments = " --algo mtp-tcr --intensity 21" } - [PSCustomObject]@{ Algorithm = @("Multi"); Fee = @(0.01); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 0); Arguments = " --algo multi --intensity 25" } - [PSCustomObject]@{ Algorithm = @("Octopus"); Fee = @(0.02); MinMemGB = $MinerPools[0].Octopus.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo octopus" } # 6GB is not enough - [PSCustomObject]@{ Algorithm = @("ProgPoWSero"); Fee = @(0.01); MinMemGB = $MinerPools[0].ProgPoWSero.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 0); Arguments = " --algo progpow --coin sero" } - [PSCustomObject]@{ Algorithm = @("ProgPoWVeil"); Fee = @(0.01); MinMemGB = $MinerPools[0].ProgPoWVeil.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 0); Arguments = " --algo progpow-veil --intensity 24" } - [PSCustomObject]@{ Algorithm = @("ProgPoWVeriblock"); Fee = @(0.01); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 0); Arguments = " --algo progpow-veriblock" } - [PSCustomObject]@{ Algorithm = @("ProgPoWZ"); Fee = @(0.01); MinMemGB = $MinerPools[0].ProgPoWZ.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 0); Arguments = " --algo progpowz --intensity 25" } - [PSCustomObject]@{ Algorithm = @("Tensority"); Fee = @(0.01); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 0); Arguments = " --algo tensority --intensity 25" } + [PSCustomObject]@{ Algorithms = @("Autolykos2"); Fee = @(0.02); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(45, 30); Arguments = " --algo autolykos2 --intensity 25" } + [PSCustomObject]@{ Algorithms = @("Blake3"); Fee = @(0.01); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(45, 0); Arguments = " --algo blake3 --intensity 25" } + [PSCustomObject]@{ Algorithms = @("EtcHash"); Fee = @(0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo etchash --intensity 25" } # GMiner-v3.09 is fastest + [PSCustomObject]@{ Algorithms = @("Ethash"); Fee = @(0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo ethash --intensity 25" } # GMiner-v3.09 is fastest + [PSCustomObject]@{ Algorithms = @("EtcHash", "Blake3"); Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].EtcHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo etchash --dual-algo blake3 --lhr-tune -1 --lhr-autotune-interval 1" } + [PSCustomObject]@{ Algorithms = @("Ethash", "Autolykos2"); Fee = @(0.01, 0.02); MinMemGB = 8; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo ethash --dual-algo autolykos2 --lhr-tune -1 --lhr-autotune-interval 1" } + [PSCustomObject]@{ Algorithms = @("Ethash", "Blake3"); Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo ethash --dual-algo blake3 --lhr-tune -1 --lhr-autotune-interval 1" } + [PSCustomObject]@{ Algorithms = @("Ethash", "FiroPoW"); Fee = @(0.01, 0.01); MinMemGB = 10; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(255, 15); Arguments = " --algo ethash --dual-algo firopow --lhr-tune -1" } + [PSCustomObject]@{ Algorithms = @("Ethash", "KawPoW"); Fee = @(0.01, 0.01); MinMemGB = 10; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(255, 15); Arguments = " --algo ethash --dual-algo kawpow --lhr-tune -1" } + [PSCustomObject]@{ Algorithms = @("Ethash", "Octopus"); Fee = @(0.01, 0.02); MinMemGB = 8; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo ethash --dual-algo octopus --lhr-tune -1" } + [PSCustomObject]@{ Algorithms = @("EthashLowMem"); Fee = @(0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo ethash --intensity 25" } # TTMiner-v5.0.3 is fastest + [PSCustomObject]@{ Algorithms = @("FiroPoW"); Fee = @(0.01); MinMemGB = $MinerPools[0].FiroPoW.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo firopow --intensity 25" } + [PSCustomObject]@{ Algorithms = @("KawPoW"); Fee = @(0.01); MinMemGB = $MinerPools[0].KawPoW.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(45, 0); Arguments = " --algo kawpow --intensity 25" } # XmRig-v6.18.0 is almost as fast but has no fee + [PSCustomObject]@{ Algorithms = @("MTP"); Fee = @(0.01); MinMemGB = 3; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 15); Arguments = " --algo mtp --intensity 21" } + [PSCustomObject]@{ Algorithms = @("MTPTcr"); Fee = @(0.01); MinMemGB = 3; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 15); Arguments = " --algo mtp-tcr --intensity 21" } + [PSCustomObject]@{ Algorithms = @("Multi"); Fee = @(0.01); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 0); Arguments = " --algo multi --intensity 25" } + [PSCustomObject]@{ Algorithms = @("Octopus"); Fee = @(0.02); MinMemGB = $MinerPools[0].Octopus.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(60, 15); Arguments = " --algo octopus" } # 6GB is not enough + [PSCustomObject]@{ Algorithms = @("ProgPoWSero"); Fee = @(0.01); MinMemGB = $MinerPools[0].ProgPoWSero.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 0); Arguments = " --algo progpow --coin sero" } + [PSCustomObject]@{ Algorithms = @("ProgPoWVeil"); Fee = @(0.01); MinMemGB = $MinerPools[0].ProgPoWVeil.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 0); Arguments = " --algo progpow-veil --intensity 24" } + [PSCustomObject]@{ Algorithms = @("ProgPoWVeriblock"); Fee = @(0.01); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 0); Arguments = " --algo progpow-veriblock" } + [PSCustomObject]@{ Algorithms = @("ProgPoWZ"); Fee = @(0.01); MinMemGB = $MinerPools[0].ProgPoWZ.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 0); Arguments = " --algo progpowz --intensity 25" } + [PSCustomObject]@{ Algorithms = @("Tensority"); Fee = @(0.01); MinMemGB = 2; MemReserveGB = 0; MinerSet = 0; Tuning = " --mt 3"; WarmupTimes = @(30, 0); Arguments = " --algo tensority --intensity 25" } ) -If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithm[0]).PoolPorts -and (-not $_.Algorithm[1] -or $MinerPools[1].($_.Algorithm[1]).PoolPorts) }) { +If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithms[0]).PoolPorts -and (-not $_.Algorithms[1] -or $MinerPools[1].($_.Algorithms[1]).PoolPorts) }) { $Devices | Select-Object Model -Unique | ForEach-Object { @@ -44,27 +44,27 @@ If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Whe If ($AvailableMiner_Devices = $Miner_Devices | Where-Object MemoryGB -ge ($_.MinMemGB + $_.MemReserveGB)) { - $Miner_Name = (@($Name) + @($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices | Where-Object Model -EQ $Model).Count)x$Model" }) + @(If ($_.Algorithm[1]) { "$($_.Algorithm[0])&$($_.Algorithm[1])" }) | Select-Object) -join '-' -replace ' ' + $Miner_Name = (@($Name) + @($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices | Where-Object Model -EQ $Model).Count)x$Model" }) + @(If ($_.Algorithms[1]) { "$($_.Algorithms[0])&$($_.Algorithms[1])" }) | Select-Object) -join '-' -replace ' ' If ($AvailableMiner_Devices | Where-Object MemoryGB -le 2) { $_.Arguments = $_.Arguments -replace " --intensity [0-9\.]+" } # Get arguments for available miner devices # $_.Arguments = Get-ArgumentsPerDevice -Arguments $_.Arguments -ExcludeArguments @("algo", "dual-algo") -DeviceIDs $AvailableMiner_Devices.$DeviceEnumerator - $_.Arguments += " --url $(If ($MinerPools[0].($_.Algorithm[0]).PoolPorts[1]) { "stratum+ssl" } Else { If ($MinerPools[0].($_.Algorithm[0]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithm[0]).BaseName -in @("MiningPoolHub", "NiceHash", "ProHashing")) { "stratum2+tcp" } Else { "stratum+tcp" } })://$($MinerPools[0].($_.Algorithm[0]).Host):$($MinerPools[0].($_.Algorithm[0]).PoolPorts | Select-Object -Last 1)" - $_.Arguments += " --user $($MinerPools[0].($_.Algorithm[0]).User)" - $_.Arguments += " --pass $($MinerPools[0].($_.Algorithm[0]).Pass)$(If ($MinerPools[0].($_.Algorithm[0]).BaseName -eq "ProHashing" -and $_.Algorithm -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" - If ($MinerPools[0].($_.Algorithm[0]).WorkerName) { $_.Arguments += " --worker $($MinerPools[0].($_.Algorithm[0]).WorkerName)" } + $_.Arguments += " --url $(If ($MinerPools[0].($_.Algorithms[0]).PoolPorts[1]) { "stratum+ssl" } Else { If ($MinerPools[0].($_.Algorithms[0]).DAGsizeGB -ne $null -and $MinerPools[0].($_.Algorithms[0]).BaseName -in @("MiningPoolHub", "NiceHash", "ProHashing")) { "stratum2+tcp" } Else { "stratum+tcp" } })://$($MinerPools[0].($_.Algorithms[0]).Host):$($MinerPools[0].($_.Algorithms[0]).PoolPorts | Select-Object -Last 1)" + $_.Arguments += " --user $($MinerPools[0].($_.Algorithms[0]).User)" + $_.Arguments += " --pass $($MinerPools[0].($_.Algorithms[0]).Pass)$(If ($MinerPools[0].($_.Algorithms[0]).BaseName -eq "ProHashing" -and $_.Algorithms -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" + If ($MinerPools[0].($_.Algorithms[0]).WorkerName) { $_.Arguments += " --worker $($MinerPools[0].($_.Algorithms[0]).WorkerName)" } - If ($MinerPools[0].($_.Algorithm[0]).Currency -in @("CLO", "ETC", "ETH", "ETHW", "ETP", "EXP", "MUSIC", "PIRL", "RVN", "TCR", "UBQ", "VBK", "ZCOIN", "ZELS")) { - $_.Arguments += " --coin $($MinerPools[0].($_.Algorithm[0]).Currency)" + If ($MinerPools[0].($_.Algorithms[0]).Currency -in @("CLO", "ETC", "ETH", "ETHW", "ETP", "EXP", "MUSIC", "PIRL", "RVN", "TCR", "UBQ", "VBK", "ZCOIN", "ZELS")) { + $_.Arguments += " --coin $($MinerPools[0].($_.Algorithms[0]).Currency)" } - If ($_.Algorithm[1]) { - $_.Arguments += " --url2 $(If ($MinerPools[1].($_.Algorithm[1]).PoolPorts[1]) { "stratum+ssl" } Else { If ($MinerPools[1].($_.Algorithm[1]).DAGsizeGB -ne $null -and $MinerPools[1].($_.Algorithm[1]).BaseName -in @("MiningPoolHub", "NiceHash", "ProHashing")) { "stratum2+tcp" } Else { "stratum+tcp" } })://$($MinerPools[1].($_.Algorithm[1]).Host):$($MinerPools[1].($_.Algorithm[1]).PoolPorts | Select-Object -Last 1)" - $_.Arguments += " --user2 $($MinerPools[1].($_.Algorithm[1]).User)" - $_.Arguments += " --pass2 $($MinerPools[1].($_.Algorithm[1]).Pass)$(If ($MinerPools[1].($_.Algorithm[1]).BaseName -eq "ProHashing" -and $_.Algorithm -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" - If ($MinerPools[1].($_.Algorithm[1]).WorkerName) { $_.Arguments += " --worker2 $($MinerPools[1].($_.Algorithm[1]).WorkerName)" } + If ($_.Algorithms[1]) { + $_.Arguments += " --url2 $(If ($MinerPools[1].($_.Algorithms[1]).PoolPorts[1]) { "stratum+ssl" } Else { If ($MinerPools[1].($_.Algorithms[1]).DAGsizeGB -ne $null -and $MinerPools[1].($_.Algorithms[1]).BaseName -in @("MiningPoolHub", "NiceHash", "ProHashing")) { "stratum2+tcp" } Else { "stratum+tcp" } })://$($MinerPools[1].($_.Algorithms[1]).Host):$($MinerPools[1].($_.Algorithms[1]).PoolPorts | Select-Object -Last 1)" + $_.Arguments += " --user2 $($MinerPools[1].($_.Algorithms[1]).User)" + $_.Arguments += " --pass2 $($MinerPools[1].($_.Algorithms[1]).Pass)$(If ($MinerPools[1].($_.Algorithms[1]).BaseName -eq "ProHashing" -and $_.Algorithms -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" + If ($MinerPools[1].($_.Algorithms[1]).WorkerName) { $_.Arguments += " --worker2 $($MinerPools[1].($_.Algorithms[1]).WorkerName)" } } # Apply tuning parameters @@ -78,7 +78,7 @@ If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Whe Type = $AvailableMiner_Devices.Type Path = $Path Arguments = ("$($_.Arguments) --no-strict-ssl --no-watchdog --gpu-report-interval 5 --quiet --retry-pause 1 --timeout 50000 --api-bind-http 127.0.0.1:$($MinerAPIPort) --api-read-only --devices $(($AvailableMiner_Devices.$DeviceEnumerator | Sort-Object -Unique | ForEach-Object { '{0:x}' -f $_ }) -join ',')" -replace "\s+", " ").trim() - Algorithms = @($_.Algorithm[0], $_.Algorithm[1] | Select-Object) + Algorithms = @($_.Algorithms[0], $_.Algorithms[1] | Select-Object) API = "Trex" Port = $MinerAPIPort URI = $Uri diff --git a/Miners/lolMiner-v1.61.ps1 b/Miners/lolMiner-v1.61.ps1 index 9d6fe93ed3..23b5f04f8c 100644 --- a/Miners/lolMiner-v1.61.ps1 +++ b/Miners/lolMiner-v1.61.ps1 @@ -8,64 +8,64 @@ $Path = ".\Bin\$($Name)\lolminer.exe" $DeviceEnumerator = "Bus" $Algorithms = [PSCustomObject[]]@( - [PSCustomObject]@{ Algorithm = @("Autolykos2"); Type = "AMD"; Fee = @(0.015); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo AUTOLYKOS2" } - [PSCustomObject]@{ Algorithm = @("BeamV3"); Type = "AMD"; Fee = @(0.01); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo BEAM-III" } - [PSCustomObject]@{ Algorithm = @("Cuckoo29"); Type = "AMD"; Fee = @(0.02); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo C29AE" } - [PSCustomObject]@{ Algorithm = @("Cuckaroo29B"); Type = "AMD"; Fee = @(0.02); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo CR29-40" } - [PSCustomObject]@{ Algorithm = @("Cuckaroo29S"); Type = "AMD"; Fee = @(0.02); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo CR29-32" } - [PSCustomObject]@{ Algorithm = @("Cuckaroo30CTX"); Type = "AMD"; Fee = @(0.025); MinMemGB = 7.8; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C30CTX" } - [PSCustomObject]@{ Algorithm = @("CuckarooD29"); Type = "AMD"; Fee = @(0.01); MinMemGB = 4.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C29D" } # TeamRedMiner-v0.10.4.1 is fastest, keep enabled because TeamRed does not support algo on Navi - [PSCustomObject]@{ Algorithm = @("CuckarooM29"); Type = "AMD"; Fee = @(0.01); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C29M" } - [PSCustomObject]@{ Algorithm = @("Cuckatoo31"); Type = "AMD"; Fee = @(0.02); MinMemGB = 4.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); Arguments = " --algo C31" } # TeamRedMiner-v0.10.4.1 is fastest - [PSCustomObject]@{ Algorithm = @("Cuckatoo32"); Type = "AMD"; Fee = @(0.02); MinMemGB = 4.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); Arguments = " --algo C32" } - [PSCustomObject]@{ Algorithm = @("Equihash1254"); Type = "AMD"; Fee = @(0.015); MinMemGB = 3.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --coin ZEL" } - [PSCustomObject]@{ Algorithm = @("Equihash1445"); Type = "AMD"; Fee = @(0.01); MinMemGB = 3.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); Arguments = " --coin $(If ($MinerPools[0].Equihash1445.Currency -in @("BTCZ", "BTG", "EXCC", "XSG")) { $MinerPools[0].Equihash1445.Currency } Else { "AUTO144_5" })" } - [PSCustomObject]@{ Algorithm = @("Equihash1927"); Type = "AMD"; Fee = @(0.01); MinMemGB = 3.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --coin $(If ($MinerPools[0].Equihash1927.Currency -in @("YEC", "ZCL", "ZER")) { $MinerPools[0].Equihash1927.Currency } Else { "AUTO192_7" })" } - [PSCustomObject]@{ Algorithm = @("Equihash2109"); Type = "AMD"; Fee = @(0.01); MinMemGB = 2.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo EQUI210_9" } - [PSCustomObject]@{ Algorithm = @("EtcHash"); Type = "AMD"; Fee = @(0.007); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETCHASH" } # PhoenixMiner-v6.2c is faster - [PSCustomObject]@{ Algorithm = @("EtcHash", "Blake3"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETCHASH --dualmode ALEPHDUAL" } - [PSCustomObject]@{ Algorithm = @("EtcHash", "kHeavyHash"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETCHASH --dualmode KASPADUAL" } - [PSCustomObject]@{ Algorithm = @("Ethash"); Type = "AMD"; Fee = @(0.007); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH" } # PhoenixMiner-v6.2c is faster - [PSCustomObject]@{ Algorithm = @("Ethash", "Blake3"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode ALEPHDUAL" } - [PSCustomObject]@{ Algorithm = @("Ethash", "kHeavyHash"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode KASPADUAL" } - [PSCustomObject]@{ Algorithm = @("EthashLowMem"); Type = "AMD"; Fee = @(0.007); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH" } # PhoenixMiner-v6.2c is faster - [PSCustomObject]@{ Algorithm = @("EthashLowMem", "Blake3"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode ALEPHDUAL" } - [PSCustomObject]@{ Algorithm = @("EthashLowMem", "kHeavyHash"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode KASPADUAL" } - [PSCustomObject]@{ Algorithm = @("kHeavyHash"); Type = "AMD"; Fee = @(0.0075); MinMemGB = 4.0; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo KASPA" } - [PSCustomObject]@{ Algorithm = @("UbqHash"); Type = "AMD"; Fee = @(0.007); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo UBQHASH" } - [PSCustomObject]@{ Algorithm = @("UbqHash", "Blake3"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo UBQHASH --dualmode ALEPHDUAL" } - [PSCustomObject]@{ Algorithm = @("UbqHash", "kHeavyHash"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo UBQHASH --dualmode KASPADUAL" } - - [PSCustomObject]@{ Algorithm = @("Autolykos2"); Type = "NVIDIA"; Fee = @(0.015); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo AUTOLYKOS2" } - [PSCustomObject]@{ Algorithm = @("BeamV3"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo BEAM-III" } # NBMiner-v42.3 is fastest - [PSCustomObject]@{ Algorithm = @("Cuckoo29"); Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo C29AE" } - [PSCustomObject]@{ Algorithm = @("Cuckaroo29B"); Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo CR29-40" } - [PSCustomObject]@{ Algorithm = @("Cuckaroo29S"); Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo CR29-32" } - [PSCustomObject]@{ Algorithm = @("Cuckaroo30CTX"); Type = "NVIDIA"; Fee = @(0.025); MinMemGB = 8.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C30CTX" } - [PSCustomObject]@{ Algorithm = @("CuckarooD29"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 4.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C29D" } # GMiner-v3.08 is fastest - [PSCustomObject]@{ Algorithm = @("CuckarooM29"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C29M" } - [PSCustomObject]@{ Algorithm = @("Cuckatoo31"); Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 4.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C31" } - [PSCustomObject]@{ Algorithm = @("Cuckatoo32"); Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 4.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C32" } - [PSCustomObject]@{ Algorithm = @("Equihash1254"); Type = "NVIDIA"; Fee = @(0.015); MinMemGB = 3.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --coin ZEL" } # MiniZ-v1.9z3 is fastest, but has 2% miner fee - [PSCustomObject]@{ Algorithm = @("Equihash1445"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 3.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); Arguments = " --coin $(If ($MinerPools[0].Equihash1445.Currency -in @("BTCZ", "BTG", "EXCC", "XSG")) { $MinerPools[0].Equihash1445.Currency } Else { "AUTO144_5" })" } # MiniZ-v1.9z3 is fastest, but has 2% miner fee - [PSCustomObject]@{ Algorithm = @("Equihash1927"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 3.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --coin $(If ($MinerPools[0].Equihash1927.Currency -in @("YEC", "ZCL", "ZER")) { $MinerPools[0].Equihash1927.Currency } Else { "AUTO192_7" })" } # MiniZ-v1.9z3 is fastest, but has 2% miner fee - [PSCustomObject]@{ Algorithm = @("Equihash2109"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 2.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo EQUI210_9" } - [PSCustomObject]@{ Algorithm = @("EtcHash"); Type = "NVIDIA"; Fee = @(0.007); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETCHASH" } # PhoenixMiner-v6.2c is faster - [PSCustomObject]@{ Algorithm = @("EtcHash", "Blake3"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETCHASH --dualmode ALEPHDUAL" } - [PSCustomObject]@{ Algorithm = @("EtcHash", "kHeavyHash"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETCHASH --dualmode KASPADUAL" } - [PSCustomObject]@{ Algorithm = @("Ethash"); Type = "NVIDIA"; Fee = @(0.007); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH" } # PhoenixMiner-v6.2c is faster - [PSCustomObject]@{ Algorithm = @("Ethash", "Blake3"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode ALEPHDUAL" } - [PSCustomObject]@{ Algorithm = @("Ethash", "kHeavyHash"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode KASPADUAL" } - [PSCustomObject]@{ Algorithm = @("EthashLowMem"); Type = "NVIDIA"; Fee = @(0.007); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH" } # PhoenixMiner-v6.2c is faster - [PSCustomObject]@{ Algorithm = @("EthashLowMem", "Blake3"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode ALEPHDUAL" } - [PSCustomObject]@{ Algorithm = @("EthashLowMem", "kHeavyHash"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode KASPADUAL" } - [PSCustomObject]@{ Algorithm = @("kHeavyHash"); Type = "NVIDIA"; Fee = @(0.0075); MinMemGB = 4.0; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo KASPA" } - [PSCustomObject]@{ Algorithm = @("UbqHash"); Type = "NVIDIA"; Fee = @(0.007); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo UBQHASH" } - [PSCustomObject]@{ Algorithm = @("UbqHash", "Blake3"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo UBQHASH --dualmode ALEPHDUAL" } - [PSCustomObject]@{ Algorithm = @("UbqHash", "kHeavyHash"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo UBQHASH --dualmode KASPADUAL" } + [PSCustomObject]@{ Algorithms = @("Autolykos2"); Type = "AMD"; Fee = @(0.015); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 0; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo AUTOLYKOS2" } + [PSCustomObject]@{ Algorithms = @("BeamV3"); Type = "AMD"; Fee = @(0.01); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo BEAM-III" } + [PSCustomObject]@{ Algorithms = @("Cuckoo29"); Type = "AMD"; Fee = @(0.02); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo C29AE" } + [PSCustomObject]@{ Algorithms = @("Cuckaroo29B"); Type = "AMD"; Fee = @(0.02); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo CR29-40" } + [PSCustomObject]@{ Algorithms = @("Cuckaroo29S"); Type = "AMD"; Fee = @(0.02); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo CR29-32" } + [PSCustomObject]@{ Algorithms = @("Cuckaroo30CTX"); Type = "AMD"; Fee = @(0.025); MinMemGB = 7.8; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C30CTX" } + [PSCustomObject]@{ Algorithms = @("CuckarooD29"); Type = "AMD"; Fee = @(0.01); MinMemGB = 4.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C29D" } # TeamRedMiner-v0.10.4.1 is fastest, keep enabled because TeamRed does not support algo on Navi + [PSCustomObject]@{ Algorithms = @("CuckarooM29"); Type = "AMD"; Fee = @(0.01); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C29M" } + [PSCustomObject]@{ Algorithms = @("Cuckatoo31"); Type = "AMD"; Fee = @(0.02); MinMemGB = 4.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); Arguments = " --algo C31" } # TeamRedMiner-v0.10.4.1 is fastest + [PSCustomObject]@{ Algorithms = @("Cuckatoo32"); Type = "AMD"; Fee = @(0.02); MinMemGB = 4.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); Arguments = " --algo C32" } + [PSCustomObject]@{ Algorithms = @("Equihash1254"); Type = "AMD"; Fee = @(0.015); MinMemGB = 3.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --coin ZEL" } + [PSCustomObject]@{ Algorithms = @("Equihash1445"); Type = "AMD"; Fee = @(0.01); MinMemGB = 3.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); Arguments = " --coin $(If ($MinerPools[0].Equihash1445.Currency -in @("BTCZ", "BTG", "EXCC", "XSG")) { $MinerPools[0].Equihash1445.Currency } Else { "AUTO144_5" })" } + [PSCustomObject]@{ Algorithms = @("Equihash1927"); Type = "AMD"; Fee = @(0.01); MinMemGB = 3.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --coin $(If ($MinerPools[0].Equihash1927.Currency -in @("YEC", "ZCL", "ZER")) { $MinerPools[0].Equihash1927.Currency } Else { "AUTO192_7" })" } + [PSCustomObject]@{ Algorithms = @("Equihash2109"); Type = "AMD"; Fee = @(0.01); MinMemGB = 2.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo EQUI210_9" } + [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "AMD"; Fee = @(0.007); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETCHASH" } # PhoenixMiner-v6.2c is faster + [PSCustomObject]@{ Algorithms = @("EtcHash", "Blake3"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETCHASH --dualmode ALEPHDUAL" } + [PSCustomObject]@{ Algorithms = @("EtcHash", "kHeavyHash"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETCHASH --dualmode KASPADUAL" } + [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "AMD"; Fee = @(0.007); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH" } # PhoenixMiner-v6.2c is faster + [PSCustomObject]@{ Algorithms = @("Ethash", "Blake3"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode ALEPHDUAL" } + [PSCustomObject]@{ Algorithms = @("Ethash", "kHeavyHash"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode KASPADUAL" } + [PSCustomObject]@{ Algorithms = @("EthashLowMem"); Type = "AMD"; Fee = @(0.007); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH" } # PhoenixMiner-v6.2c is faster + [PSCustomObject]@{ Algorithms = @("EthashLowMem", "Blake3"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode ALEPHDUAL" } + [PSCustomObject]@{ Algorithms = @("EthashLowMem", "kHeavyHash"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode KASPADUAL" } + [PSCustomObject]@{ Algorithms = @("kHeavyHash"); Type = "AMD"; Fee = @(0.0075); MinMemGB = 4.0; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo KASPA" } + [PSCustomObject]@{ Algorithms = @("UbqHash"); Type = "AMD"; Fee = @(0.007); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo UBQHASH" } + [PSCustomObject]@{ Algorithms = @("UbqHash", "Blake3"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo UBQHASH --dualmode ALEPHDUAL" } + [PSCustomObject]@{ Algorithms = @("UbqHash", "kHeavyHash"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo UBQHASH --dualmode KASPADUAL" } + + [PSCustomObject]@{ Algorithms = @("Autolykos2"); Type = "NVIDIA"; Fee = @(0.015); MinMemGB = $MinerPools[0].Autolykos2.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 1; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo AUTOLYKOS2" } + [PSCustomObject]@{ Algorithms = @("BeamV3"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo BEAM-III" } # NBMiner-v42.3 is fastest + [PSCustomObject]@{ Algorithms = @("Cuckoo29"); Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo C29AE" } + [PSCustomObject]@{ Algorithms = @("Cuckaroo29B"); Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo CR29-40" } + [PSCustomObject]@{ Algorithms = @("Cuckaroo29S"); Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo CR29-32" } + [PSCustomObject]@{ Algorithms = @("Cuckaroo30CTX"); Type = "NVIDIA"; Fee = @(0.025); MinMemGB = 8.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C30CTX" } + [PSCustomObject]@{ Algorithms = @("CuckarooD29"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 4.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C29D" } # GMiner-v3.09 is fastest + [PSCustomObject]@{ Algorithms = @("CuckarooM29"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 6.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C29M" } + [PSCustomObject]@{ Algorithms = @("Cuckatoo31"); Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 4.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C31" } + [PSCustomObject]@{ Algorithms = @("Cuckatoo32"); Type = "NVIDIA"; Fee = @(0.02); MinMemGB = 4.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo C32" } + [PSCustomObject]@{ Algorithms = @("Equihash1254"); Type = "NVIDIA"; Fee = @(0.015); MinMemGB = 3.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --coin ZEL" } # MiniZ-v1.9z3 is fastest, but has 2% miner fee + [PSCustomObject]@{ Algorithms = @("Equihash1445"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 3.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); Arguments = " --coin $(If ($MinerPools[0].Equihash1445.Currency -in @("BTCZ", "BTG", "EXCC", "XSG")) { $MinerPools[0].Equihash1445.Currency } Else { "AUTO144_5" })" } # MiniZ-v1.9z3 is fastest, but has 2% miner fee + [PSCustomObject]@{ Algorithms = @("Equihash1927"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 3.0; MemReserveGB = 0; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --coin $(If ($MinerPools[0].Equihash1927.Currency -in @("YEC", "ZCL", "ZER")) { $MinerPools[0].Equihash1927.Currency } Else { "AUTO192_7" })" } # MiniZ-v1.9z3 is fastest, but has 2% miner fee + [PSCustomObject]@{ Algorithms = @("Equihash2109"); Type = "NVIDIA"; Fee = @(0.01); MinMemGB = 2.0; MemReserveGB = 0; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo EQUI210_9" } + [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "NVIDIA"; Fee = @(0.007); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETCHASH" } # PhoenixMiner-v6.2c is faster + [PSCustomObject]@{ Algorithms = @("EtcHash", "Blake3"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETCHASH --dualmode ALEPHDUAL" } + [PSCustomObject]@{ Algorithms = @("EtcHash", "kHeavyHash"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Etchash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETCHASH --dualmode KASPADUAL" } + [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "NVIDIA"; Fee = @(0.007); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH" } # PhoenixMiner-v6.2c is faster + [PSCustomObject]@{ Algorithms = @("Ethash", "Blake3"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode ALEPHDUAL" } + [PSCustomObject]@{ Algorithms = @("Ethash", "kHeavyHash"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].Ethash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode KASPADUAL" } + [PSCustomObject]@{ Algorithms = @("EthashLowMem"); Type = "NVIDIA"; Fee = @(0.007); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH" } # PhoenixMiner-v6.2c is faster + [PSCustomObject]@{ Algorithms = @("EthashLowMem", "Blake3"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode ALEPHDUAL" } + [PSCustomObject]@{ Algorithms = @("EthashLowMem", "kHeavyHash"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].EthashLowMem.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo ETHASH --dualmode KASPADUAL" } + [PSCustomObject]@{ Algorithms = @("kHeavyHash"); Type = "NVIDIA"; Fee = @(0.0075); MinMemGB = 4.0; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 45); ExcludeGPUArchitecture = @(); Arguments = " --algo KASPA" } + [PSCustomObject]@{ Algorithms = @("UbqHash"); Type = "NVIDIA"; Fee = @(0.007); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo UBQHASH" } + [PSCustomObject]@{ Algorithms = @("UbqHash", "Blake3"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo UBQHASH --dualmode ALEPHDUAL" } + [PSCustomObject]@{ Algorithms = @("UbqHash", "kHeavyHash"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGB = $MinerPools[0].UbqHash.DAGSizeGB; MemReserveGB = 0.42; MinerSet = 2; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); Arguments = " --algo UBQHASH --dualmode KASPADUAL" } ) -If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithm[0]).PoolPorts -and (-not $_.Algorithm[1] -or $MinerPools[1].($_.Algorithm[1]).PoolPorts) }) { +If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Where-Object { $MinerPools[0].($_.Algorithms[0]).PoolPorts -and (-not $_.Algorithms[1] -or $MinerPools[1].($_.Algorithms[1]).PoolPorts) }) { $Devices | Select-Object Type, Model -Unique | ForEach-Object { @@ -75,31 +75,31 @@ If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Whe $Algorithms | Where-Object Type -EQ $_.Type | Select-Object | ConvertTo-Json | ConvertFrom-Json | ForEach-Object { - If ($_.Algorithm[0] -match "^Cuckaroo.*$|^Cuckoo.*$" -and ([System.Environment]::OSVersion.Version -ge [Version]"10.0.0.0")) { $_.MinMemGB += 1 } + If ($_.Algorithms[0] -match "^Cuckaroo.*$|^Cuckoo.*$" -and ([System.Environment]::OSVersion.Version -ge [Version]"10.0.0.0")) { $_.MinMemGB += 1 } $ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture If ($AvailableMiner_Devices = $Miner_Devices | Where-Object MemoryGB -ge ($_.MinMemGB + $_.MemReserveGB) | Where-Object { $_.Architecture -notin $ExcludeGPUArchitecture }) { - $Miner_Name = (@($Name) + @($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices | Where-Object Model -EQ $Model).Count)x$Model" }) + @(If ($_.Algorithm[1]) { "$($_.Algorithm[0])&$($_.Algorithm[1])" }) + @($_.Intensity) | Select-Object) -join '-' -replace ' ' + $Miner_Name = (@($Name) + @($AvailableMiner_Devices.Model | Sort-Object -Unique | ForEach-Object { $Model = $_; "$(@($AvailableMiner_Devices | Where-Object Model -EQ $Model).Count)x$Model" }) + @(If ($_.Algorithms[1]) { "$($_.Algorithms[0])&$($_.Algorithms[1])" }) + @($_.Intensity) | Select-Object) -join '-' -replace ' ' # Get arguments for available miner devices # $_.Arguments = Get-ArgumentsPerDevice -Arguments $_.Arguments -ExcludeArguments @("algo", "coin") -DeviceIDs $AvailableMiner_Devices.$DeviceEnumerator - $_.Arguments += " --pool $($MinerPools[0].($_.Algorithm[0]).Host):$(($MinerPools[0].($_.Algorithm[0]).PoolPorts | Select-Object -Last 1))" - $_.Arguments += " --user $($MinerPools[0].($_.Algorithm[0]).User)$(If ($MinerPools[0].($_.Algorithm[0]).WorkerName) { ".$($MinerPools[0].($_.Algorithm[0]).WorkerName)" })" - $_.Arguments += " --pass $($MinerPools[0].($_.Algorithm[0]).Pass)$(If ($MinerPools[0].($_.Algorithm[0]).BaseName -eq "ProHashing" -and $_.Algorithm[0] -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" - $_.Arguments += If ($MinerPools[0].($_.Algorithm[0]).PoolPorts[1]) { " --tls on" } Else { " --tls off" } + $_.Arguments += " --pool $($MinerPools[0].($_.Algorithms[0]).Host):$(($MinerPools[0].($_.Algorithms[0]).PoolPorts | Select-Object -Last 1))" + $_.Arguments += " --user $($MinerPools[0].($_.Algorithms[0]).User)$(If ($MinerPools[0].($_.Algorithms[0]).WorkerName) { ".$($MinerPools[0].($_.Algorithms[0]).WorkerName)" })" + $_.Arguments += " --pass $($MinerPools[0].($_.Algorithms[0]).Pass)$(If ($MinerPools[0].($_.Algorithms[0]).BaseName -eq "ProHashing" -and $_.Algorithms[0] -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" + $_.Arguments += If ($MinerPools[0].($_.Algorithms[0]).PoolPorts[1]) { " --tls on" } Else { " --tls off" } - If ($_.Algorithm[1]) { - $_.Arguments += " --dualpool $($MinerPools[1].($_.Algorithm[1]).Host):$($MinerPools[1].($_.Algorithm[1]).PoolPorts | Select-Object -Last 1)" - $_.Arguments += " --dualuser $($MinerPools[1].($_.Algorithm[1]).User)$(If ($MinerPools[1].($_.Algorithm[1]).WorkerName) { ".$($MinerPools[1].($_.Algorithm[1]).WorkerName)" })" - $_.Arguments += " --dualpass $($MinerPools[1].($_.Algorithm[1]).Pass)$(If ($MinerPools[1].($_.Algorithm[1]).BaseName -eq "ProHashing" -and $_.Algorithm[1] -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" - $_.Arguments += If ($MinerPools[1].($_.Algorithm[1]).SSL) { " --dualtls on" } Else { " --dualtls off" } + If ($_.Algorithms[1]) { + $_.Arguments += " --dualpool $($MinerPools[1].($_.Algorithms[1]).Host):$($MinerPools[1].($_.Algorithms[1]).PoolPorts | Select-Object -Last 1)" + $_.Arguments += " --dualuser $($MinerPools[1].($_.Algorithms[1]).User)$(If ($MinerPools[1].($_.Algorithms[1]).WorkerName) { ".$($MinerPools[1].($_.Algorithms[1]).WorkerName)" })" + $_.Arguments += " --dualpass $($MinerPools[1].($_.Algorithms[1]).Pass)$(If ($MinerPools[1].($_.Algorithms[1]).BaseName -eq "ProHashing" -and $_.Algorithms[1] -eq "EthashLowMem") { ",l=$((($AvailableMiner_Devices.Memory | Measure-Object -Minimum).Minimum) / 1GB - $_.MemReserveGB)" })" + $_.Arguments += If ($MinerPools[1].($_.Algorithms[1]).SSL) { " --dualtls on" } Else { " --dualtls off" } } - If ($MinerPools[0].($_.Algorithm[0]).DAGsizeGB -gt 0) { - If ($MinerPools[0].($_.Algorithm[0]).BaseName -in @("MiningPoolHub", "NiceHash")) { $_.Arguments += " --ethstratum ETHV1" } + If ($MinerPools[0].($_.Algorithms[0]).DAGsizeGB -gt 0) { + If ($MinerPools[0].($_.Algorithms[0]).BaseName -in @("MiningPoolHub", "NiceHash")) { $_.Arguments += " --ethstratum ETHV1" } } [PSCustomObject]@{ @@ -108,7 +108,7 @@ If ($Algorithms = $Algorithms | Where-Object MinerSet -LE $Config.MinerSet | Whe Type = $AvailableMiner_Devices.Type Path = $Path Arguments = ("$($_.Arguments) --log off --apiport $MinerAPIPort --shortstats 7 --longstats 30 --digits 6 --watchdog exit --dns-over-https 1 --devicesbypcie --devices $(($AvailableMiner_Devices.$DeviceEnumerator | Sort-Object -Unique | ForEach-Object { '{0}:0' -f $_ }) -join ',')" -replace "\s+", " ").trim() - Algorithms = @($_.Algorithm[0], $_.Algorithm[1] | Select-Object) + Algorithms = @($_.Algorithms[0], $_.Algorithms[1] | Select-Object) API = "lolMiner" Port = $MinerAPIPort URI = $Uri diff --git a/NemosMiner.ps1 b/NemosMiner.ps1 index d3c0dcbd7f..c91209568a 100644 --- a/NemosMiner.ps1 +++ b/NemosMiner.ps1 @@ -21,8 +21,8 @@ along with this program. If not, see . <# Product: NemosMiner File: NemosMiner.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> [CmdletBinding()] @@ -205,6 +205,8 @@ param( [Parameter(Mandatory = $false)] [Switch]$ShowPoolBalances = $false, # Display pool balances & earnings information in main text window, requires BalancesTrackerPollInterval > 0 [Parameter(Mandatory = $false)] + [Switch]$ShowPool = $true, # Show pool column in main text window miner overview + [Parameter(Mandatory = $false)] [Switch]$ShowPoolFee = $true, # Show pool fee column in main text window miner overview [Parameter(Mandatory = $false)] [Switch]$ShowPowerCost = $true, # Show Power cost column in main text window miner overview (if power price is available, see PowerPricekWh) @@ -287,7 +289,7 @@ $Variables.Branding = [PSCustomObject]@{ BrandName = "NemosMiner" BrandWebSite = "https://nemosminer.com" ProductLabel = "NemosMiner" - Version = [System.Version]"4.2.2.1" + Version = [System.Version]"4.2.2.2" } If ($PSVersiontable.PSVersion -lt [System.Version]"7.0.0") { @@ -890,41 +892,6 @@ Function Update-TabControl { } -Function Global:TimerUITick { - $TimerUI.Enabled = $false - - MainLoop - - $TimerUI.Enabled = $true -} - -Function MainForm_Load { - $MainForm.Number = 0 - - $TimerUI.Add_Tick( - { - # Timer never disposes objects until it is disposed - $MainForm.Number += 1 - $TimerUI.Stop() - - TimerUITick - - If ($MainForm.Number -gt 6000) { - $MainForm.Number = 0 - $TimerUI.Remove_Tick({ TimerUITick }) - $TimerUI.Dispose() - $null = [System.GC]::GetTotalMemory("forcefullcollection") - $TimerUI = New-Object System.Windows.Forms.Timer - $TimerUI.Add_Tick({ TimerUITick }) - } - $TimerUI.Start() - } - ) - - $TimerUI.Interval = 100 - $TimerUI.Enabled = $true -} - $MainForm = New-Object System.Windows.Forms.Form $MainForm.Text = "$($Variables.Branding.ProductLabel) $($Variables.Branding.Version)" $LabelMiningStatus.Text = "$($Variables.Branding.ProductLabel) $($Variables.Branding.Version)" @@ -1364,11 +1331,17 @@ $MainForm.Add_Load( $MainForm.Top = $WindowSettings.Top $MainForm.Left = $WindowSettings.Left } - # Update-TabControl If ($Config.StartGUIMinimized) { $MainForm.WindowState = [System.Windows.Forms.FormWindowState]::Minimized } - MainForm_Load + $Global:TimerUI = New-Object System.Windows.Forms.Timer + $Global:TimerUI.Add_Tick( + { + MainLoop + } + ) + $Global:TimerUI.Interval = 100 + $Global:TimerUI.Start() } ) @@ -1377,7 +1350,7 @@ $MainForm.Add_FormClosing( If ($Config.StartGUI) { Write-Message -Level Info "Shutting down $($Variables.Branding.ProductLabel)..." $Variables.NewMiningStatus = "Idle" - $TimerUI.Stop() + $Global:TimerUI.Stop() Stop-Mining Stop-IdleDetection @@ -1490,6 +1463,147 @@ Function MainLoop { } } + If ($host.UI.RawUI.KeyAvailable) { + $KeyPressed = $host.UI.RawUI.ReadKey("NoEcho, IncludeKeyDown, IncludeKeyUp"); Start-Sleep -Milliseconds 300; $host.UI.RawUI.FlushInputBuffer() + If ($KeyPressed.KeyDown) { + Switch ($KeyPressed.Character) { + "a" { + $Variables.ShowAccuracy = -not $Variables.ShowAccuracy + Write-Host "'" -NoNewline; Write-Host "A" -ForegroundColor Cyan -NoNewline; Write-Host "ccuracy' column visibility set to " -NoNewline; If ($Variables.ShowAccuracy) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + "b" { + $Variables.ShowPoolBalances = -not $Variables.ShowPoolBalances + Write-Host "'Listing Pool " -NoNewline; Write-Host "B" -ForegroundColor Cyan -NoNewline; Write-Host "alances' set to " -NoNewline; If ($Variables.ShowPoolBalances) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + "c" { + If ($Variables.CalculatePowerCost) { + $Variables.ShowPowerCost = -not $Variables.ShowPowerCost + Write-Host "'Power " -NoNewline; Write-Host "C" -ForegroundColor Cyan -NoNewline; Write-Host "ost' column visibility set to " -NoNewline; If ($Variables.ShowPowerCost) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + } + "e" { + $Variables.ShowEarning = -not $Variables.ShowEarning + Write-Host "'" -NoNewline; Write-Host "E" -ForegroundColor Cyan -NoNewline; Write-Host "arnings' column visibility set to " -NoNewline; If ($Variables.ShowEarning) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + "f" { + $Variables.ShowPoolFee = -not $Variables.ShowPoolFee + Write-Host "'Pool "; Write-Host "f" -ForegroundColor Cyan -NoNewline; Write-Host "ees' column visibility set to " -NoNewline; If ($Variables.ShowPoolFee) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + "h" { + Write-Host "`nHot key legend:" + Write-Host "a: Toggle " -NoNewline; Write-Host "A" -ForegroundColor Cyan -NoNewline; Write-Host "ccuracy column visibility (currently " -NoNewline; If ($Variables.ShowAccuracy) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + Write-Host "b: Toggle Listing Pool " -NoNewline; Write-Host "B" -ForegroundColor Cyan -NoNewline; Write-Host "alances (currently " -NoNewline; If ($Variables.ShowPoolBalances) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + If ($Variables.CalculatePowerCost) { + Write-Host "c: Toggle Power " -NoNewline; Write-Host "C" -ForegroundColor Cyan -NoNewline; Write-Host "ost column visibility (currently " -NoNewline; If ($Variables.ShowPowerCost) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + } + Write-Host "e: Toggle " -NoNewline; Write-Host "E" -ForegroundColor Cyan -NoNewline; Write-Host "arnings column visibility (currently " -NoNewline; If ($Variables.ShowEarning) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + Write-Host "f: Toggle Pool " -NoNewline; Write-Host "f" -ForegroundColor Cyan -NoNewline; Write-Host "ees column visibility (currently " -NoNewline; If ($Variables.ShowPool) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + Write-Host "i: Toggle Earning B" -NoNewline; Write-Host "i" -ForegroundColor Cyan -NoNewline; Write-Host "as column visibility (currently " -NoNewline; If ($Variables.ShowEarningBias) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + Write-Host "m: Toggle " -NoNewline; Write-Host "M" -ForegroundColor Cyan -NoNewline; Write-Host "iner Fees column visibility (currently " -NoNewline; If ($Variables.ShowMinerFee) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + Write-Host "n: Toggle Coin" -NoNewline; Write-Host "N" -ForegroundColor Cyan -NoNewline; Write-Host "ame column visibility (currently " -NoNewline; If ($Variables.ShowCoinName) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + Write-Host "p: Toggle " -NoNewline; Write-Host "P" -ForegroundColor Cyan -NoNewline; Write-Host "ool column visibility (currently " -NoNewline; If ($Variables.ShowPoolFee) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + If ($Variables.CalculatePowerCost) { + Write-Host "r: Toggle P" -NoNewline; Write-Host "r" -ForegroundColor Cyan -NoNewline; Write-Host "ofit Bias column visibility (currently " -NoNewline; If ($Variables.ShowProfitBias) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + } + Write-Host "s: Toggle UI " -NoNewline; Write-Host "S" -ForegroundColor Cyan -NoNewline; Write-Host "tyle [full or light] (currently " -NoNewline; Write-Host "$($Variables.UIStyle)" -ForegroundColor Blue -NoNewline; Write-Host ")" + If ($Variables.CalculatePowerCost) { + Write-Host "t: Toggle Profi" -NoNewline; Write-Host "t" -ForegroundColor Cyan -NoNewline; Write-Host " column visibility (currently " -NoNewline; If ($Variables.ShowProfit) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + } + Write-Host "u: Toggle " -NoNewline; Write-Host "U" -ForegroundColor Cyan -NoNewline; Write-Host "ser column visibility (currently " -NoNewline; If ($Variables.ShowUser) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + Write-Host "v: Toggle Listing all a" -NoNewline; Write-Host "v" -ForegroundColor Cyan -NoNewline; Write-Host "ailable miners (currently " -NoNewline; If ($Variables.ShowAllMiners) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + If ($Variables.CalculatePowerCost) { + Write-Host "w: Toggle Po" -NoNewline; Write-Host "w" -ForegroundColor Cyan -NoNewline; Write-Host "er usage column visibility (currently " -NoNewline; If ($Config.CalculatePowerCost -and $Variables.ShowPowerUsage) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + } + Write-Host "y: Toggle Currenc" -NoNewline; Write-Host "y" -ForegroundColor Cyan -NoNewline; Write-Host " column visibility (currently " -NoNewline; If ($Variables.ShowCurrency) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host ")" + } + "i" { + $Variables.ShowEarningBias = -not $Variables.ShowEarningBias + Write-Host "'Earning B" -NoNewline; Write-Host "i" -ForegroundColor Cyan -NoNewline; Write-Host "as' column visibility set to " -NoNewline; If ($Variables.ShowEarningBias) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 2 + $Variables.RefreshNeeded = $true + } + "m" { + $Variables.ShowMinerFee = -not $Variables.ShowMinerFee + Write-Host "'" -NoNewline; Write-Host "M" -ForegroundColor Cyan -NoNewline; Write-Host "iner Fees' column visibility set to " -NoNewline; If ($Variables.ShowMinerFee) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + "n" { + $Variables.ShowCoinName = -not $Variables.ShowCoinName + Write-Host "'Coin" -NoNewline; Write-Host "N" -ForegroundColor Cyan -NoNewline; Write-Host "ame' column visibility set to " -NoNewline; If ($Variables.ShowCoinName) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + "p" { + If ($Variables.CalculatePowerCost) { + $Variables.ShowProfitBias = -not $Variables.ShowProfitBias + Write-Host "'" -NoNewline; Write-Host "P" -ForegroundColor Cyan -NoNewline; Write-Host "ool name' column visibility set to " -NoNewline; If ($Variables.ShowPool) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + } + "r" { + If ($Variables.CalculatePowerCost) { + $Variables.ShowProfitBias = -not $Variables.ShowProfitBias + Write-Host "'P" -NoNewline; Write-Host "r" -ForegroundColor Cyan -NoNewline; Write-Host "ofit Bias' column visibility set to " -NoNewline; If ($Variables.ShowProfitBias) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + } + "s" { + $Variables.UIStyle = If ($Variables.UIStyle -eq "light") { "full" } Else { "light" } + Write-Host "UI " -NoNewline; Write-Host "S" -ForegroundColor Cyan -NoNewline; Write-Host "tyle set to " -NoNewline; Write-Host "$($Variables.UIStyle)" -ForegroundColor Blue -NoNewline; Write-Host " (Information about miners run in the past, failed miners & watchdog timers will " -NoNewline; If ($Variables.UIStyle -eq "light") { Write-Host "not " -ForegroundColor Red -NoNewline }; Write-Host "be shown)." + Start-Sleep -Seconds 2 + $Variables.RefreshNeeded = $true + } + "t" { + If ($Variables.CalculatePowerCost) { + $Variables.ShowProfit = -not $Variables.ShowProfit + Write-Host "'" -NoNewline; Write-Host "P" -ForegroundColor Cyan -NoNewline; Write-Host "rofit' column visibility set to " -NoNewline; If ($Variables.ShowProfit) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + } + "u" { + $Variables.ShowUser = -not $Variables.ShowUser + Write-Host "'" -NoNewline; Write-Host "U" -ForegroundColor Cyan -NoNewline; Write-Host "ser' column visibility set to " -NoNewline; If ($Variables.ShowUser) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + "v" { + $Variables.ShowAllMiners = -not $Variables.ShowAllMiners + Write-Host "'Listing All a" -NoNewline; Write-Host "v" -ForegroundColor Cyan -NoNewline; Write-Host "ailable miners' set to " -NoNewline; If ($Variables.ShowAllMiners) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + "w" { + If ($Variables.CalculatePowerCost) { + $Variables.ShowPowerUsage = -not $Variables.ShowPowerUsage + Write-Host "'Po" -NoNewline; Write-Host "w" -ForegroundColor Cyan -NoNewline; Write-Host "er usage' column visibility set to " -NoNewline; If ($Config.CalculatePowerCost -and $Variables.ShowPowerUsage) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + } + "y" { + $Variables.ShowCurrency = -not $Variables.ShowCurrency + Write-Host "'Currenc" -NoNewline; Write-Host "y" -ForegroundColor Cyan -NoNewline; Write-Host "' column visibilityset to " -NoNewline; If ($Variables.ShowCurrency) { Write-Host "on" -ForegroundColor Green -NoNewline } Else { Write-Host "off" -ForegroundColor Red -NoNewline }; Write-Host "." + Start-Sleep -Seconds 1 + $Variables.RefreshNeeded = $true + } + } + } + } + If ($Variables.RefreshNeeded) { $host.UI.RawUI.WindowTitle = $MainForm.Text = "$($Variables.Branding.ProductLabel) $($Variables.Branding.Version) Runtime: {0:dd} days {0:hh} hrs {0:mm} mins Path: $($Variables.Mainpath)" -f [TimeSpan]((Get-Date).ToUniversalTime() - $Variables.ScriptStartTime) @@ -1562,7 +1676,7 @@ Function MainLoop { If ($Variables.ShowPowerUsage -and $Config.CalculatePowerCost) { @{ Label = "PowerUsage"; Expression = { If (-not $_.MeasurePowerUsage) { If ([Double]::IsNaN($_.PowerUsage)) { "n/a" } Else { "$($_.PowerUsage.ToString("N2")) W"} } Else { If ($_.Status -eq "Running") { "Measuring..." } Else { "Unmeasured" } } }; Align = "right" } } If ($Variables.ShowPowerCost -and $Config.CalculatePowerCost -and $Variables.MiningPowerCost) { @{ Label = "PowerCost"; Expression = { If ([Double]::IsNaN($_.PowerUsage)) { "n/a" } Else { "-{0:n$($Config.DecimalsMax)}" -f ($_.PowerCost * $Variables.Rates.($Config.PayoutCurrency).($Config.Currency)) } }; Align = "right" } } If ($Variables.ShowAccuracy) { @{ Label = "Accuracy"; Expression = { $_.Workers.Pool.Accuracy | ForEach-Object { "{0:P0}" -f [Double]$_ } }; Align = "right" } } - @{ Label = "Pool"; Expression = { $_.Workers.Pool.Name -join " & " } } + If ($Variables.ShowPool) { @{ Label = "Pool"; Expression = { $_.Workers.Pool.Name -join " & " } } } If ($Variables.ShowUser) { @{ Label = "User"; Expression = { $_.Workers.Pool.User -join ' & ' } } } If ($Variables.ShowPoolFee -and ($Variables.Miners.Workers.Pool.Fee)) { @{ Label = "Fee"; Expression = { $_.Workers.Pool.Fee | ForEach-Object { "{0:P2}" -f [Double]$_ } }; Align = "right" } } If ($Variables.ShowCurrency -and $Variables.Miners.Workers.Pool.Currency) { @{ Label = "Currency"; Expression = { "$(If ($_.Workers.Pool.Currency) { $_.Workers.Pool.Currency -join " & " })" } } } @@ -1674,7 +1788,7 @@ Function MainLoop { } If ($Variables.Timer) { - $StatusMessage = "Last refresh: $($Variables.Timer.ToLocalTime().ToString('G')) | Next refresh: $($Variables.EndCycleTime.ToLocalTime().ToString('G')) | Hot Keys: $(If ($Variables.CalculatePowerCost) { "[abceimnprstuvwy]" } Else { "[abeimnpsvwy]" }) | Press 'h' for help" + $StatusMessage = "Last refresh: $($Variables.Timer.ToLocalTime().ToString('G')) | Next refresh: $($Variables.EndCycleTime.ToLocalTime().ToString('G')) | Hot Keys: $(If ($Variables.CalculatePowerCost) { "[abcefimnprstuvwy]" } Else { "[abefimnpsvwy]" }) | Press 'h' for help" Write-Host ("-" * $StatusMessage.Length) Write-Host -ForegroundColor Yellow $StatusMessage Remove-Variable StatusMessage diff --git a/Pools/HiveON.ps1 b/Pools/HiveON.ps1 index a07edc0f33..9e8d983725 100644 --- a/Pools/HiveON.ps1 +++ b/Pools/HiveON.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: NemosMiner File: HiveOn.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Pools/MiningDutch.ps1 b/Pools/MiningDutch.ps1 index 6162e97d3e..fa286409ee 100644 --- a/Pools/MiningDutch.ps1 +++ b/Pools/MiningDutch.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: NemosMiner File: MiningDutch.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Pools/MiningPoolHub.ps1 b/Pools/MiningPoolHub.ps1 index 2b86b1ea51..e07e5f7dd9 100644 --- a/Pools/MiningPoolHub.ps1 +++ b/Pools/MiningPoolHub.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: NemosMiner File: MiningPoolHub.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Pools/NiceHash.ps1 b/Pools/NiceHash.ps1 index 0d38a963ce..801a33de53 100644 --- a/Pools/NiceHash.ps1 +++ b/Pools/NiceHash.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: NemosMiner File: NiceHash.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Pools/ProHashing.ps1 b/Pools/ProHashing.ps1 index 438dc38869..01710a63be 100644 --- a/Pools/ProHashing.ps1 +++ b/Pools/ProHashing.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: NemosMiner File: ProHashing.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Pools/ZPool.ps1 b/Pools/ZPool.ps1 index 4f47ff9504..40b3ecfc67 100644 --- a/Pools/ZPool.ps1 +++ b/Pools/ZPool.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: NemosMiner File: ZPool.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/Pools/ZergPool.ps1 b/Pools/ZergPool.ps1 index 089e739f7c..6833df53d1 100644 --- a/Pools/ZergPool.ps1 +++ b/Pools/ZergPool.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: NemosMiner File: ZergPool.ps1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> using module ..\Includes\Include.psm1 diff --git a/README.md b/README.md index 431e1cca76..add7ca8988 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ NemosMiner monitors mining pools in real-time in order to find the most profitable algorithm -Updated 15 October 2022 +Updated 16 October 2022 Copyright (c) 2018-2022 Nemo, MrPlus & UselessGuru diff --git a/Version.txt b/Version.txt index 7f7e5b5db6..828c95d8bb 100644 --- a/Version.txt +++ b/Version.txt @@ -1,6 +1,6 @@ { "Product": "NemosMiner", - "Version": "4.2.2.1", + "Version": "4.2.2.2", "AutoUpdate": true, "RequireRestart": true, "Uri": "https://github.com/Minerx117/NemosMiner/archive/refs/heads/master.zip", diff --git a/Web/APIdocs.html b/Web/APIdocs.html index 1e738e134d..0bc4a8965e 100644 --- a/Web/APIdocs.html +++ b/Web/APIdocs.html @@ -16,8 +16,8 @@ Product: NemosMiner File: API.psm1 -version: 4.2.2.1 -version date: 15 October 2022--> +version: 4.2.2.2 +version date: 16 October 2022--> @@ -262,7 +262,7 @@

Functions


/functions/config/set
Write full config
Parameters: full config (JSON) -
e.g.: /functions/config/set?{"Algorithm"%3A%5B%5D%2C"APILogfile"%3A""%2C"APIPort"%3A3999%2C"AutoReboot"%3Atrue%2C"AutoUpdate"%3Atrue%2C"AutoUpdateCheckInterval"%3A1%2C"BackupOnAutoUpdate"%3Atrue%2C"BadShareRatioThreshold"%3A0.05%2C"BalancesKeepAlive"%3Atrue%2C"BalancesShowInAllCurrencies"%3Atrue%2C"BalancesTrackerIgnorePool"%3A%5B%5D%2C"BalancesTrackerLog"%3Afalse%2C"BalancesTrackerPollInterval"%3A10%2C"CalculatePowerCost"%3Atrue%2C"ConfigFileVersion"%3A"4.2.2.1"%2C"CPUMinerProcessPriority"%3A-2%2C"Currency"%3A"CHF"%2C"DecimalsMax"%3A6%2C"Delay"%3A0%2C"DisableDualAlgoMining"%3Afalse%2C"DisableMinerFee"%3Afalse%2C"DisableMinersWithFee"%3Afalse%2C"DisableSingleAlgoMining"%3Afalse%2C"Donate"%3A13%2C"EarningsAdjustmentFactor"%3A1%2C"ExcludeDeviceName"%3A%5B%5D%2C"ExcludeMinerName"%3A%5B%5D%2C"ExtraCurrencies"%3A%5B"ETC"%2C"ETH"%2C"mBTC"%5D%2C"GPUMinerProcessPriority"%3A-1%2C"IdleDetection"%3Afalse%2C"IdleSec"%3A120%2C"IgnoreMinerFee"%3Afalse%2C"IgnorePoolFee"%3Afalse%2C"IgnorePowerCost"%3Afalse%2C"Interval"%3A90%2C"LogBalanceAPIResponse"%3Afalse%2C"LogToFile"%3A%5B"Info"%2C"Warn"%2C"Error"%2C"Verbose"%5D%2C"LogToScreen"%3A%5B"Info"%2C"Warn"%2C"Error"%2C"Verbose"%5D%2C"MinAccuracy"%3A0.5%2C"MinDataSamples"%3A20%2C"MinDataSamplesAlgoMultiplier"%3A{"X16r"%3A3}%2C"MinerInstancePerDeviceModel"%3Afalse%2C"MinerSet"%3A1%2C"MinerSwitchingThreshold"%3A10%2C"MinerWindowStyle"%3A"minimized"%2C"MinerWindowStyleNormalWhenBenchmarking"%3Atrue%2C"MiningPoolHubAPIKey"%3A""%2C"MiningPoolHubUserName"%3A"Nemo"%2C"MinInterval"%3A1%2C"MinWorker"%3A25%2C"MonitoringServer"%3A"https%3A%2F%2Fnemosminer.com"%2C"MonitoringUser"%3A""%2C"NiceHashAPIKey"%3A""%2C"NiceHashAPISecret"%3A""%2C"NiceHashOrganizationId"%3A""%2C"NiceHashWallet"%3A""%2C"NiceHashWalletIsInternal"%3Afalse%2C"OpenFirewallPorts"%3Atrue%2C"PayoutCurrency"%3A"BTC"%2C"PoolAPIAllowedFailureCount"%3A3%2C"PoolAPIRetryInterval"%3A3%2C"PoolAPITimeout"%3A20%2C"PoolName"%3A%5B"MiningPoolHubCoins"%2C"NiceHash"%5D%2C"PoolsConfigFile"%3A".%5C%5CConfig%5C%5CPoolsConfig.json"%2C"PoolTimeout"%3A20%2C"PowerPricekWh"%3A{"00%3A00"%3A0.26%2C"12%3A00"%3A0.3}%2C"PowerUsage"%3A{}%2C"PowerUsageIdleSystemW"%3A60%2C"ProfitabilityThreshold"%3A-99%2C"ProHashingAPIKey"%3A""%2C"ProHashingMiningMode"%3A"PPS"%2C"ProHashingUserName"%3A"UselessGuru"%2C"Proxy"%3A""%2C"Region"%3A"Europe"%2C"ReportToServer"%3Afalse%2C"ShowAccuracy"%3Atrue%2C"ShowAllMiners"%3Afalse%2C"ShowChangeLog"%3Afalse%2C"ShowCoinName"%3Atrue%2C"ShowCurrency"%3Atrue%2C"ShowEarning"%3Atrue%2C"ShowEarningBias"%3Atrue%2C"ShowMinerFee"%3Atrue%2C"ShowPoolBalances"%3Afalse%2C"ShowPoolFee"%3Atrue%2C"ShowPowerCost"%3Atrue%2C"ShowPowerUsage"%3Atrue%2C"ShowProfit"%3Atrue%2C"ShowProfitBias"%3Atrue%2C"ShowUser"%3Afalse%2C"ShowWorkerStatus"%3Atrue%2C"SnakeTailConfig"%3A".%5C%5CUtils%5C%5CNemosMiner_LogReader.xml"%2C"SnakeTailExe"%3A".%5C%5CUtils%5C%5CSnakeTail.exe"%2C"SSL"%3A"prefer"%2C"StartGUIMinimized"%3Atrue%2C"StartupMode"%3A"Idle"%2C"SubtractBadShares"%3Atrue%2C"SyncWindow"%3A3%2C"Transcript"%3Afalse%2C"UIStyle"%3A"light"%2C"UnrealMinerEarningFactor"%3A5%2C"UnrealPoolPriceFactor"%3A1.5%2C"UseAnycast"%3Atrue%2C"UsemBTC"%3Atrue%2C"UseMinerTweaks"%3Afalse%2C"Wallets"%3A{"BTC"%3A"1GPSq8txFnyrYdXL8t6S94mYdF8cGqVQJF"%2C"ETC"%3A""%2C"ETH"%3A""}%2C"Watchdog"%3Atrue%2C"WatchdogCount"%3A3%2C"WebGUI"%3Atrue%2C"UseColorForMinerStatus"%3Atrue%2C"WorkerName"%3A"BLACKBOX"} +
e.g.: /functions/config/set?{"Algorithm"%3A%5B%5D%2C"APILogfile"%3A""%2C"APIPort"%3A3999%2C"AutoReboot"%3Atrue%2C"AutoUpdate"%3Atrue%2C"AutoUpdateCheckInterval"%3A1%2C"BackupOnAutoUpdate"%3Atrue%2C"BadShareRatioThreshold"%3A0.05%2C"BalancesKeepAlive"%3Atrue%2C"BalancesShowInAllCurrencies"%3Atrue%2C"BalancesTrackerIgnorePool"%3A%5B%5D%2C"BalancesTrackerLog"%3Afalse%2C"BalancesTrackerPollInterval"%3A10%2C"CalculatePowerCost"%3Atrue%2C"ConfigFileVersion"%3A"4.2.2.2"%2C"CPUMinerProcessPriority"%3A-2%2C"Currency"%3A"CHF"%2C"DecimalsMax"%3A6%2C"Delay"%3A0%2C"DisableDualAlgoMining"%3Afalse%2C"DisableMinerFee"%3Afalse%2C"DisableMinersWithFee"%3Afalse%2C"DisableSingleAlgoMining"%3Afalse%2C"Donate"%3A13%2C"EarningsAdjustmentFactor"%3A1%2C"ExcludeDeviceName"%3A%5B%5D%2C"ExcludeMinerName"%3A%5B%5D%2C"ExtraCurrencies"%3A%5B"ETC"%2C"ETH"%2C"mBTC"%5D%2C"GPUMinerProcessPriority"%3A-1%2C"IdleDetection"%3Afalse%2C"IdleSec"%3A120%2C"IgnoreMinerFee"%3Afalse%2C"IgnorePoolFee"%3Afalse%2C"IgnorePowerCost"%3Afalse%2C"Interval"%3A90%2C"LogBalanceAPIResponse"%3Afalse%2C"LogToFile"%3A%5B"Info"%2C"Warn"%2C"Error"%2C"Verbose"%5D%2C"LogToScreen"%3A%5B"Info"%2C"Warn"%2C"Error"%2C"Verbose"%5D%2C"MinAccuracy"%3A0.5%2C"MinDataSamples"%3A20%2C"MinDataSamplesAlgoMultiplier"%3A{"X16r"%3A3}%2C"MinerInstancePerDeviceModel"%3Afalse%2C"MinerSet"%3A1%2C"MinerSwitchingThreshold"%3A10%2C"MinerWindowStyle"%3A"minimized"%2C"MinerWindowStyleNormalWhenBenchmarking"%3Atrue%2C"MiningPoolHubAPIKey"%3A""%2C"MiningPoolHubUserName"%3A"Nemo"%2C"MinInterval"%3A1%2C"MinWorker"%3A25%2C"MonitoringServer"%3A"https%3A%2F%2Fnemosminer.com"%2C"MonitoringUser"%3A""%2C"NiceHashAPIKey"%3A""%2C"NiceHashAPISecret"%3A""%2C"NiceHashOrganizationId"%3A""%2C"NiceHashWallet"%3A""%2C"NiceHashWalletIsInternal"%3Afalse%2C"OpenFirewallPorts"%3Atrue%2C"PayoutCurrency"%3A"BTC"%2C"PoolAPIAllowedFailureCount"%3A3%2C"PoolAPIRetryInterval"%3A3%2C"PoolAPITimeout"%3A20%2C"PoolName"%3A%5B"MiningPoolHubCoins"%2C"NiceHash"%5D%2C"PoolsConfigFile"%3A".%5C%5CConfig%5C%5CPoolsConfig.json"%2C"PoolTimeout"%3A20%2C"PowerPricekWh"%3A{"00%3A00"%3A0.26%2C"12%3A00"%3A0.3}%2C"PowerUsage"%3A{}%2C"PowerUsageIdleSystemW"%3A60%2C"ProfitabilityThreshold"%3A-99%2C"ProHashingAPIKey"%3A""%2C"ProHashingMiningMode"%3A"PPS"%2C"ProHashingUserName"%3A"UselessGuru"%2C"Proxy"%3A""%2C"Region"%3A"Europe"%2C"ReportToServer"%3Afalse%2C"ShowAccuracy"%3Atrue%2C"ShowAllMiners"%3Afalse%2C"ShowChangeLog"%3Afalse%2C"ShowCoinName"%3Atrue%2C"ShowCurrency"%3Atrue%2C"ShowEarning"%3Atrue%2C"ShowEarningBias"%3Atrue%2C"ShowMinerFee"%3Atrue%2C"ShowPoolBalances"%3Afalse%2C"ShowPoolFee"%3Atrue%2C"ShowPowerCost"%3Atrue%2C"ShowPowerUsage"%3Atrue%2C"ShowProfit"%3Atrue%2C"ShowProfitBias"%3Atrue%2C"ShowUser"%3Afalse%2C"ShowWorkerStatus"%3Atrue%2C"SnakeTailConfig"%3A".%5C%5CUtils%5C%5CNemosMiner_LogReader.xml"%2C"SnakeTailExe"%3A".%5C%5CUtils%5C%5CSnakeTail.exe"%2C"SSL"%3A"prefer"%2C"StartGUIMinimized"%3Atrue%2C"StartupMode"%3A"Idle"%2C"SubtractBadShares"%3Atrue%2C"SyncWindow"%3A3%2C"Transcript"%3Afalse%2C"UIStyle"%3A"light"%2C"UnrealMinerEarningFactor"%3A5%2C"UnrealPoolPriceFactor"%3A1.5%2C"UseAnycast"%3Atrue%2C"UsemBTC"%3Atrue%2C"UseMinerTweaks"%3Afalse%2C"Wallets"%3A{"BTC"%3A"1GPSq8txFnyrYdXL8t6S94mYdF8cGqVQJF"%2C"ETC"%3A""%2C"ETH"%3A""}%2C"Watchdog"%3Atrue%2C"WatchdogCount"%3A3%2C"WebGUI"%3Atrue%2C"UseColorForMinerStatus"%3Atrue%2C"WorkerName"%3A"BLACKBOX"}

/functions/file/edit diff --git a/Web/configedit.html b/Web/configedit.html index b6fbb521b9..67dbcc9a8f 100644 --- a/Web/configedit.html +++ b/Web/configedit.html @@ -382,6 +382,12 @@

Edit Configuration

Show user column
+
+ Show pool column +
+
+ Show pool fee column +

@@ -451,6 +457,8 @@

Edit Configuration

var regions = []; $(document).ready(function () { + document.body.style.cursor = 'wait'; + //Edit config file $('#btn-editconfig').click(function () { document.getElementById('btn-editconfig').disabled = true; @@ -738,7 +746,7 @@

Edit Configuration

else document.getElementById('MinerSet').value = 1; if (config.ExcludeMinerName) document.getElementById('ExcludeMinerName').value = (config.ExcludeMinerName).toString().trim(); if (config.Algorithm) document.getElementById('Algorithm').value = (config.Algorithm).toString().trim(); - //Load default Algorithm list + // Load default Algorithm list $('#DefaultAlgorithm').click(function () { $.ajax({ async: false, @@ -823,7 +831,6 @@

Edit Configuration

if (document.getElementById('BalancesTrackerPollInterval').value > 1 && document.getElementById('BalancesTrackerPollInterval').value < 9) document.getElementById('BalancesTrackerPollInterval').value = 0; document.getElementById('BalancesTrackerLog').disabled = (parseInt(document.getElementById('BalancesTrackerPollInterval').value) == 0); document.getElementById('BalancesKeepAlive').disabled = (parseInt(document.getElementById('BalancesTrackerPollInterval').value) == 0); - document.getElementById('ShowPoolBalances').disabled = (parseInt(document.getElementById('BalancesTrackerPollInterval').value) == 0); document.getElementById('BalancesShowSums').disabled = (parseInt(document.getElementById('BalancesTrackerPollInterval').value) == 0); document.getElementById('BalancesShowAverages').disabled = (parseInt(document.getElementById('BalancesTrackerPollInterval').value) == 0); document.getElementById('BalancesShowInAllCurrencies').disabled = (parseInt(document.getElementById('BalancesTrackerPollInterval').value) == 0); @@ -847,9 +854,12 @@

Edit Configuration

if (config.ShowAccuracy) document.getElementById('ShowAccuracy').checked = true; if (config.ShowCoinName) document.getElementById('ShowCoinName').checked = true; if (config.ShowCurrency) document.getElementById('ShowCurrency').checked = true; + if (config.ShowPool) document.getElementById('ShowPool').checked = true; + if (config.ShowPoolFee) document.getElementById('ShowPoolFee').checked = true; if (config.ShowUser) document.getElementById('ShowUser').checked = true; if (config.ShowAllMiners) document.getElementById('ShowAllMiners').checked = true; if (config.ShowPoolBalances) document.getElementById('ShowPoolBalances').checked = true; + document.getElementById('ShowPoolBalances').disabled = (parseInt(document.getElementById('BalancesTrackerPollInterval').value) == 0); // CalculatePowerCost click $(document.getElementById('CalculatePowerCost')).click(function (event) { @@ -894,6 +904,8 @@

Edit Configuration

if (config.ShowChangeLog) document.getElementById('ShowChangeLog').checked = true; if (config.BackupOnAutoUpdate) document.getElementById('BackupOnAutoUpdate').checked = true; + document.body.style.cursor = 'default'; + // Error when reading configuration if (config && configfile && poolvariants && regions && devices) { document.getElementById('save-button').disabled = false; @@ -1288,6 +1300,8 @@

Edit Configuration

config.ShowAccuracy = document.getElementById('ShowAccuracy').checked; config.ShowCoinName = document.getElementById('ShowCoinName').checked; config.ShowCurrency = document.getElementById('ShowCurrency').checked; + config.ShowPool = document.getElementById('ShowPool').checked; + config.ShowPoolFee = document.getElementById('ShowPoolFee').checked; config.ShowUser = document.getElementById('ShowUser').checked; config.ShowPoolBalances = document.getElementById('ShowPoolBalances').checked; config.ShowAllMiners = document.getElementById('ShowAllMiners').checked; diff --git a/Web/js/utilities.js b/Web/js/utilities.js index 567d0482a3..dfaf482402 100644 --- a/Web/js/utilities.js +++ b/Web/js/utilities.js @@ -113,7 +113,8 @@ function formatTimeSpan(timespan) { function formatTimeSince(value) { var value = (new Date).getTime() - (new Date(value)).getTime(); if (value == 0) return '-'; - return formatTime(value / 1000).trim() + ' ago'; + if (value < 1000) return 'just now'; + return formatTime(value / 1000) + ' ago'; } function formatTime(seconds) { diff --git a/Web/scripts/demo.ps1 b/Web/scripts/demo.ps1 index 34d09d08f4..93609eb0d2 100644 --- a/Web/scripts/demo.ps1 +++ b/Web/scripts/demo.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: NemosMiner File: demo.psm1 -Version: 4.2.2.1 -Version date: 15 October 2022 +Version: 4.2.2.2 +Version date: 16 October 2022 #> # Try running this script as: http://localhost:3999/scripts/demo.ps1?message=Hello%20World!