diff --git a/README.md b/README.md
index 7052f2cd..8e2a30bc 100644
--- a/README.md
+++ b/README.md
@@ -1,130 +1,149 @@
# UG-Miner
UG-Miner monitors mining pools in real-time in order to find the most profitable algorithm
+and runs the most profitable miner.
Updated 2024/08/01
Copyright (c) 2018-2024 UselessGuru
-This is free software, and you are welcome to redistribute it
-under certain conditions.
+This is free software, and you are welcome to redistribute it under certain conditions.
https://github.com/UselessGuru/UG-Miner/blob/master/LICENSE
-Updated & maintained by UselessGuru
+This project is updated & maintained by UselessGuru.
UG-Miner code is partly based on
-- MultiPoolMiner which can be found here: https://github.com/MultiPoolMiner/MultiPoolMiner
- (Project is no longer maintained)
-- NPlusMiner which can be found here: https://github.com/MrPlusGH/NPlusMiner
- (Project is no longer maintained)
-- NemosMiner which can be found here: https://github.com/Minerx117/NemosMiner
- (Project is no longer maintained)
-
-*****
-
-**Main features:**
- - Web & legacy GUI
- - Easy configuration
- - Auto benchmark each algorithm to get optimal speeds
- - Fully automated
- - Auto downloads miner binaries
- - Auto updates
- - Earnings graph
- - Low developer fee of 1% (can be set to 0)
- - Calculate power cost (optional software installation required)
- - Supports these pools:
- - HashCryptos
- - Hiveon
- - MiningDutch
- - MiningPoolHub (*)
- - NiceHash
- - ProHashing
- - ZergPool
- - ZPool
-
- (*) MiningPoolHub is no longer trustworthy. Outstanding balances will not get paid and support will not respond. Use at your own risk!
-
-
-*****
-
+- MultiPoolMiner
+ https://github.com/MultiPoolMiner/MultiPoolMiner (Project is no longer maintained)
+
+- NPlusMiner
+ https://github.com/MrPlusGH/NPlusMiner (Project is no longer maintained)
+
+- NemosMiner
+ https://github.com/Minerx117/NemosMiner (Project is no longer maintained)
+
+## Main features:
+
+- Web & legacy GUI
+- Easy configuration
+- Auto benchmark each algorithm to get optimal speeds
+- Fully automated
+- Automatically downloads miner binaries
+- Automatic updates
+- Earnings graph & Balances tracker
+- Low developer fee of 1% (can be set to 0)
+- Calculate power cost
+ (optional installation of HWiNFO required, see ConfigHWinfo64.pdf)
+- Miner switching log
+- Supports these pools:
+ - [HashCryptos]()
+ - [Hiveon]() (1)
+ - [MiningDutch]()
+ - [MiningPoolHub]() (2)
+ - [NiceHash]()
+ - [ProHashing]()
+ - [ZergPool]()
+ - [ZPool]()
+
+(1) Pool does not support auto-exchange to other currencies.
+ You need to configure a wallet address for each currency you want to mine.
+
+(2) MiningPoolHub is no longer trustworthy.
+ Outstanding balances will not get paid and support will not respond. Use at your own risk!
+
+<<<<<<< HEAD
**Easy configuration, easy start:**
+=======
+## Easy configuration, easy start
+>>>>>>> 276e906e63ab9ff43d00e598f4e210b02f8d8167
- Run UG-Miner.bat
- 1. Edit configuration (http://localhost:3999/configedit.html)
- 2. Set your Wallet address(es) and Username(s)
- 3. Select your pool(s)
- 4. Save configuration
- 5. Start mining
+ Run UG-Miner.bat
+ 1. Edit configuration (http://localhost:3999/configedit.html)
+ 2. Set your wallet address(es) and username(s)
+ 3. Select your pool(s)
+ 4. Save configuration
+ 5. Start mining
- Note: 2. you only need to change the username if you are using MiningDutch, MiningPoolhub or ProHashing
+ Note: 2. you only need to change the username if you are using MiningDutch, MiningPoolhub or ProHashing
![alt text](https://github.com/UselessGuru/UG-Miner-Extras/releases/download/Images/UG-Miner_FirstStart.png "UG-Miner Web GUI")
- Algorithm selection / removal
+### Pool Variants
- +[algorithm] to enable algorithm
- -[algorithm] to disable algorithm
+#### Poolnames ending in *24h:
- If '+' is used, then only the explicitly enabled algorithms are used
- If '-' is used, then all algorithms except the disabled ones are used
+* use calculations based on 24hr prices to get a more stable estimate
+* are NOT sensible to spikes
+* show less switching than following current or plus price estimate
+* lower estimated profitability in exchange for less switching
- Do not combine + and - for the same algorithm
+#### Poolnames ending in *Plus:
- Examples:
- Algorithm list = '-ethash'
- Will mine anything but ethash
+* use calculations based on 24hr actual and current estimate prices to get a more realistic estimate
+* include some trust index based on past 1hr current estimate variation from 24hr
+* are NOT sensible to spikes
+* show less switching than following current estimate and more switching than following the 24hr actual
+* better estimated profitability
- Algorithm list = '-ethash,-kawpow'
- Will mine anything but ethash and kawpow
+#### Poolnames without *24h/plus
- Algorithm list = +ethash
- Will mine only ethash
+* use current price data in pool API to calculate profit (no estimates or advanced calculations)
- Algorithm list = '+ethash,+kawpow'
- Will mine only ethash and kawpow
+### Algorithm selection / removal
- Algorithm list blank
- Will mine anything
++[algorithm] to enable algorithm
+-[algorithm] to disable algorithm
+If '+' is used, then only the explicitly enabled algorithms are used
+If '-' is used, then all algorithms except the disabled ones are used
- Currency selection / removal
+Do not combine '+' and '-' for the same algorithm.
- +[currency] to enable currency
- -[currency] to disable currency
+#### Examples:
+Algorithm list = '-ethash'
+Will mine anything but ethash
- If '+' is used, then only the explicitly enabled currencies are used
- If '-' is used, then all currencies except the disabled ones are used
+Algorithm list = '-ethash,-kawpow'
+Will mine anything but ethash and kawpow
- Do not combine + and - for the same currency
+Algorithm list = +ethash
+Will mine only ethash
- Examples:
- Currency list = '-EVR'
- Will mine anything but EVR
+Algorithm list = '+ethash,+kawpow'
+Will mine only ethash and kawpow
- Currency list = '-EVR,-KIIRO'
- Will mine anything but EVR and KIIRO
+Algorithm list blank
+Will mine anything
- Currency list = '+EVR'
- Will mine only EVR
+### Currency selection / removal
- Currency list = '+EVR,+KIIRO'
- Will mine only EVR and KIIRO
++[currency] to enable currency
+-[currency] to disable currency
- Currency list blank
- Will mine anything
+If '+' is used, then only the explicitly enabled currencies are used
+If '-' is used, then all currencies except the disabled ones are used
+Do not combine '+' and '-' for the same currency.
- Pools Variants
+#### Examples:
+Currency list = '-EVR'
+Will mine anything but EVR
- *24hr - uses last 24hour price data in pool API to calculate profit (no estimates or advanced calculations)
+Currency list = '-EVR,-KIIRO'
+Will mine anything but EVR and KIIRO
- *Plus - uses advanced calculations to reduce uneeded switching
+Currency list = '+EVR'
+Will mine only EVR
- normal - uses current price data in pool API to calculate profit (no estimates or advanced calculations)
+Currency list = '+EVR,+KIIRO'
+Will mine only EVR and KIIRO
+Currency list blank
+Will mine anything
+<<<<<<< HEAD
**Developer Donation**
Donation fee is approx. 1% (15 minutes per day) and can be increased or decreased in the configuration editor.
@@ -148,101 +167,103 @@ UG-Miner code is partly based on
UG-Miner relies on config files. There is no need to edit bat files. Simply run UG-Miner.bat
Set the config in the Web GUI (http://localhost:3999/configedit.html), apply & start mining.
+=======
+## Web & legacy GUI
+>>>>>>> 276e906e63ab9ff43d00e598f4e210b02f8d8167
+UG-Miner can be controlled & configured through the Web GUI.
+For most scenarios there is no need to edit configration files manually.
+Some settings can be configured per [advanced pool configuration]().
![alt text](https://github.com/UselessGuru/UG-Miner-Extras/releases/download/Images/UG-Miner_Dashboard.png "UG-Miner Web GUI Dashboard")
+## Pause mining
+<<<<<<< HEAD
**Pause mining**
+=======
+Ability to pause miners while keeping other jobs running (pause button). This will stop mining activity.
+>>>>>>> 276e906e63ab9ff43d00e598f4e210b02f8d8167
- Ability to pause miners while keeping other jobs running (pause button). This will stop mining activity.
- Brains will still run in the background avoiding the learning phase on resume.
- BalancesTracker will still run in the background to keep the pool balances up to date.
+Brains will still run in the background avoiding the learning phase on resume.
+<<<<<<< HEAD
**PreRun**
+=======
+BalancesTracker will still run in the background to keep the pool balances up to date.
+>>>>>>> 276e906e63ab9ff43d00e598f4e210b02f8d8167
- Ability to run a batch prior switching to a specific miner and/or algorithm.
- The prerun scripts can be used to set per miner/algorithm OC via nvidiaInspector or OverdriveNTool.
- Before starting a miner executable UG-Miner is trying to launch one of the following 3 prerun scripts (in this order):
- 1. _.bat
- Simply create a file named _.bat in prerun folder, e.g. 'MiniZ-v2.4.d-1xRadeonRX5808GB-EtcHash.bat' or 'Wildrig-v0.40.5-1xGTX10606GB_Ghostrider.bat'
- 2. .bat
- Simply create a file named .bat in prerun folder, e.g. 'Ethash.bat'
- 3. default.bat
- If neither of the two above exist, UG-Miner will try to launch 'prerun\default.bat'
- Use overclock with caution
+## PreRun
+<<<<<<< HEAD
**Per pool config (Advanced, see 'Data\PoolsConfig-Template.json')**
+=======
+Ability to run a batch script prior switching to a specific miner and/or algorithm.
+>>>>>>> 276e906e63ab9ff43d00e598f4e210b02f8d8167
- **This is for advanced users. Do not use if you do not know what you are doing.**
+The prerun scripts can be used to apply per miner/algorithm overclocking settings via nvidiaInspector or OverdriveNTool.
- The file 'Config\PoolsConfig.json' contains configuration details for the pools.
- A separate section can be added for each pool base name. If a pool is listed in this file,
- the specific settings will be taken into account. If not, the built in default values will be used.
- See 'Data\PoolData.json' for the basic structure of the file 'Config\PoolsConfig.json'
+Before starting a miner executable UG-Miner is trying to launch one of the following 3 prerun scripts (in this order):
- You can set specific options per pool. For example, you can mine NiceHash on the internal wallet and other pools on a valid wallet. See 'PoolsConfig-Template.json' for some pool specific configuration options.
+1. \\_\.bat
+ Create a file named \\_\.bat in the 'Utils\\prerun folder'
+ e.g. 'MiniZ-v2.4.d-1xRadeonRX5808GB-EtcHash.bat' or 'Wildrig-v0.40.5-1xGTX10606GB_Ghostrider.bat'
- Available options:
- - Wallets[Currency]: Your wallet address for [Currency]; some pools, e.g. Hiveon require wallets in each supported currency
- - UserName: your MPH or ProHashing user name
- - WorkerName: your worker name
- - EarningsAdjustmentFactor: See explanation below
- - Algorithm: List of included or excluded algorithms per pool
- - Corrency: List of included or excluded currencies per pool
- - PayoutThreshold[Currency]: pool will allow payout if this amount is reached
+3. \.bat
+ Create a file named \.bat in the 'Utils\\prerun' folder
+ e.g. 'Ethash.bat'
- Usage:
- - Edit 'Config\PoolsConfig.json'
- - Add an entry for the pool you want to customize
- - The name must be the pool base name (omit *24hrs or *Plus), e.g ZergPool (even if you have configured ZergPoolPlus in the pool list)
- - (**careful with json formatting ;)**
+5. default.bat
+ If neither of the two above exist UG-Miner will try to launch 'Utils\prerun\default.bat'
- Note that the GUI only updates default values (valid for ALL pools unless there is pool specific configuration setting defined in 'Config\PoolConfig.json'). Any other changes need to be done manually.
+**Use overclock with caution!**
- EarningsAdjustmentFactor
+## Advanced per pool configuration
- When using advanced per pool configuration, it is possible to add an earnings adjustment factor for a specific pool. This simply adds a multiplicator on estimations presented by the pool.
+**This is for advanced users. Do not use if you do not know what you are doing.**
- Example scenario:
- - You feel that a pool is exaggerating its estimations by 10%: Set EarningsAdjustmentFactor to 0.9
+The file 'Config\PoolsConfig.json' contains configuration details for the pools.
+A separate section can be added for each pool. If a pool is listed in this file,
+the specific settings will be taken into account. If not, the built in default values will be used.
+See 'Data\PoolData.json' for the basic structure of the file 'Config\PoolsConfig.json'
+<<<<<<< HEAD
**Pool Variants**
+=======
+You can set specific options per pool. For example, you can mine NiceHash on the internal wallet and other pools on a valid wallet. See 'Data\PoolsConfig-Template.json' for some pool specific configuration options.
+>>>>>>> 276e906e63ab9ff43d00e598f4e210b02f8d8167
- Poolnames ending in *24hr
+**Available options:**
- * use calculations based on 24hr prices to get a more stable estimate
- * are NOT sensible to spikes
- * show less switching than following current or plus price estimate
- * lower estimated profitability in exchange for less switching
+- Wallets[Currency]: Your wallet address for [Currency]; some pools, e.g. Hiveon require wallets in each supported currency
+- UserName: your MPH or ProHashing user name
+- WorkerName: your worker name
+- EarningsAdjustmentFactor: This adds a multiplicator on estimations presented by the pool
+ (e.g. You feel that a pool is exaggerating its estimations by 10%: Set EarningsAdjustmentFactor to 0.9)
+- Algorithm: List of included or excluded algorithms per pool
+- Currency: List of included or excluded currencies per pool
+- PayoutThreshold[Currency]: pool will allow payout if this amount is reached
- Poolnames ending in *Plus
+**Usage:**
- * use calculations based on 24hr actual and current estimate prices to get a more realistic estimate
- * include some trust index based on past 1hr current estimate variation from 24hr
- * are NOT sensible to spikes
- * show less switching than following current estimate and more switching than following the 24hr actual
- * better estimated profitability
+- Edit 'Config\PoolsConfig.json' (**careful with json formatting ;)**
+- Add an entry for the pool you want to customize
+ The name must be the pool base name (omit *24hrs or *Plus), e.g ZergPool (even if you have configured ZergPoolPlus in the pool list)
+<<<<<<< HEAD
**Balances Tracking**
+=======
+Note that the GUI only updates default values (valid for ALL pools unless there is pool specific configuration setting defined in 'Config\PoolConfig.json').
+Any other changes need to be done manually.
+>>>>>>> 276e906e63ab9ff43d00e598f4e210b02f8d8167
- Displays available balances and an estimation of when the pool payment threshold will be reached.
- Supported pools:
- - HashCryptos
- - Hiveon (*)
- - MiningDutch
- - MiningPoolHub
- - NiceHash (internal & external wallet)
- - ProHashing
- - ZergPool
- - Zpool
- (*) Pool does not support auto-exchange to other currencies.
+## Balances tracking
- If mining more than one pool, UG-Miner shows stats for all supported pools.
- Press key 'b' in the console window to show/hide earnings.
+Displays available balances and an estimation of when the pool payment threshold will be reached.
- Support for running multiple instances (not recommended)
+Supported pools:
+<<<<<<< HEAD
**Experimental**
More than one instance of UG-Miner can run on the same rig
@@ -250,73 +271,126 @@ UG-Miner code is partly based on
Must use non-overlapping port ranges (configuration item '$APIport')
Do not use the same miner devices in more than one instance (this will give invalid hash rate
& power consumption readings causing incorrect best miner selection)
+=======
+ - HashCryptos
+ - Hiveon (1)
+ - MiningDutch
+ - MiningPoolHub
+ - NiceHash (internal & external wallet)
+ - ProHashing
+ - ZergPool
+ - Zpool
+
+(1) Pool does not support auto-exchange to other currencies. You need to configure a wallet address for each currency you want to mine.
+>>>>>>> 276e906e63ab9ff43d00e598f4e210b02f8d8167
+
+UG-Miner shows stats for all supported pools.
+Press key 'e' in the console window to show/hide earnings.
+
+## Miner switching log
+
+<<<<<<< HEAD
+**Console Display Options**
+=======
+A simple miner switching log in csv format is written to '[UG-Miner directory]\Logs\SwitchingLog.csv'.
+>>>>>>> 276e906e63ab9ff43d00e598f4e210b02f8d8167
- Miner Switching Log
-
- A simple miner switching log in csv format is writte to '[UG-Miner directory]\Logs\SwitchingLog.csv'.
+## Console display options
-**Console Display Options**
+UI style can be set to 'light' or 'full':
- Use -UIStyle light or -UIStyle full in config.json
- Full = Usual display (Default)
- Light = Show only current mining info
- UIStyle automatically switches to full during benchmarking.
-
- In session console the following hot keys are supported:
-
- 1: Toggle Listing pool balances (currently off)
- 2: Toggle Listing all optimal miners (currently off)
- 3: Toggle UI style [full or light] (currently light)
-
- a: Toggle 'Accuracy' column visibility (currently on)
- c: Toggle 'PowerCost' column visibility (currently on)
- e: Toggle 'Earnings' column visibility (currently off)
- f: Toggle Pool 'Fees' column visibility (currently on)
- i: Toggle 'EarningBias' column visibility (currently on)
- m: Toggle Miner 'Fees' column visibility (currently on)
- n: Toggle 'CoinName' column visibility (currently on)
- p: Toggle 'Pool' column visibility (currently on)
- r: Toggle 'ProfitBias' column visibility (currently on)
- t: Toggle 'Profit' column visibility (currently off)
- u: Toggle 'User' column visibility (currently on)
- w: Toggle 'PowerConsumption' column visibility (currently on)
- y: Toggle 'Currency' column visibility (currently on)
+- Light (default)
+ Information about miners run in the past 24hrs, failed miners in the past 24hrs & watchdog timers will be not be shown
+<<<<<<< HEAD
**Requirements**
+=======
+- Full
+ Information about miners run in the past 24hrs, failed miners in the past 24hrs & watchdog timers will be shown
+
+UIStyle automatically switches to full during benchmarking.
+
+In the main text window (session console) the following hot keys are supported:
+
+ 1: Toggle Listing pool balances (currently off)
+ 2: Toggle Listing all optimal miners (currently off)
+ 3: Toggle UI style [full or light] (currently light)
+
+ a: Toggle 'Accuracy' column visibility (currently on)
+ c: Toggle 'PowerCost' column visibility (currently on)
+ e: Toggle 'Earnings' column visibility (currently off)
+ f: Toggle Pool 'Fees' column visibility (currently on)
+ i: Toggle 'EarningBias' column visibility (currently on)
+ m: Toggle Miner 'Fees' column visibility (currently on)
+ n: Toggle 'CoinName' column visibility (currently on)
+ p: Toggle 'Pool' column visibility (currently on)
+ r: Toggle 'ProfitBias' column visibility (currently on)
+ t: Toggle 'Profit' column visibility (currently off)
+ u: Toggle 'User' column visibility (currently on)
+ w: Toggle 'PowerConsumption' column visibility (currently on)
+ y: Toggle 'Currency' column visibility (currently on)
+
+## Requirements
+>>>>>>> 276e906e63ab9ff43d00e598f4e210b02f8d8167
Windows 10.x and PowerShell Version 7.x is required.
-UG-Miner works best with the latest PWSH version 7.4.4.
-
+UG-Miner works best with the latest PWSH version 7.4.4.
[Download Installer for version 7.4.4](https://github.com/PowerShell/PowerShell/releases/download/v7.4.4/PowerShell-7.4.4-win-x64.msi)
-**Some miners may need 'Visual C+ RunTimes download/extract, run install_all.bat file**
+Some miners may need 'Visual C+ RunTimes. Download and extract
+[Visual C+ RunTimes](https://github.com/UselessGuru/UG-Miner-Extras/releases/download/Visual-C-Runtimes-All-in-One-Sep-2019/Visual-C-Runtimes-All-in-One-Sep-2019.zip)
+then run install_all.bat file.
+
+Virtual memory settings
+When running multiple cards its recommended to increase Virtual Memory. 16GB is optimal.
+
+Recommended/optimal Windows Nvidia driver
+[Windows Nvidia driver 537.42](https://us.download.nvidia.com/Windows/537.42/537.42-desktop-win10-win11-64bit-international-dch-whql.exe)
+If you use older drivers some miners will not be available.
+
+Recommended/optimal Windows AMD driver
+[Windows 10/11 AMD GPU Driver 7/25/2023](https://www.amd.com/en/support)
-[Visual C+ RunTimes](https://github.com/UselessGuru/UG-Miner-Extras/releases/download/Visual-C-Runtimes-All-in-One-Sep-2019/Visual-C-Runtimes-All-in-One-Sep-2019.zip)
+UG-Miner is currently tested on the following Rigs:
-**Virtual memory settings**
+- Windows11-1xGTX1030-2GB/1xRTX-3060-12GB/1xGTX750Ti-2GB/1xRX580-8GB/1xRX5700-8GB/Inteli5-8600K
+- Windows11-1xMX250/Inteli10-10210u
-When running multiple cards its recommended to increase Virtual Memory. 64GB is optimal.
+## Developer donation
-**Recommended/optimal Windows Nvidia driver**
+Donation fee is approx. 1% (15 minutes per day) and can be increased or decreased in the configuration editor.
-[Windows Nvidia driver 537.42](https://us.download.nvidia.com/Windows/537.42/537.42-desktop-win10-win11-64bit-international-dch-whql.exe)
-If you use older drivers some miners will not be available.
+Please help support the great team behind UG-Miner by leaving mining donations turned on.
-**Recommended/optimal Windows AMD driver**
+We want to stay completely transparent on the way fees are managed in the product.
+Donation cycle occurs only once in 24hrs (or once until midnight if UG-Miner has been running less than 24hrs).
+Donation start time is randomized each day.
+It will then mine for UselessGuru for the configured duration.
-[Windows 10/11 AMD GPU Driver 7/25/2023](https://www.amd.com/en/support)
+Example for default parameters (15 minutes):
+
+- UG-Miner was started at 10:00h
+- First donation cycle starts somewhen between 10:01h and 23:45h and will then donate for 15 minutes, then mine for you again until the next donation run.
+- After 00:00h the donation start time is randomized again.
+- When donation start time is reached it will then donate for 15 minutes, then mine for you again until the next donation run.
+
+The donation data is stored in 'Data\DonationData.json'.
+All donation time and addresses are recorded in the donation log file 'Log\DonateLog.json'.
- UG-Miner is currently tested on the following Rigs:
+## Experimental support for running multiple instances (not recommended)
- Windows11-1xGTX1030-2GB/1xRTX-3060-12GB/1xGTX750Ti-2GB/1xRX580-8GB/1xRX5700-8GB/Inteli5-8600K
- Windows11-1xMX250/Inteli10-10210u
+More than one instance of UG-Miner can run on the same rig. Each instance must be placed in its own directory.
+Must use non-overlapping port ranges (configuration item '$APIport').
+Do not use the same miner devices in more than one instance (this will give invalid hash rate
+& power consumption readings causing incorrect best miner selection).
-*****
+## Copyright & licenses
-Licensed under the GNU General Public License v3.0
-Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license.
-Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.
+Licensed under the GNU General Public License v3.0
+Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works
+and modifications, which include larger works using a licensed work, under the same license.
+Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.
https://github.com/UselessGuru/UG-Miner/blob/master/LICENSE
-Happy mining :-)
+**Happy mining :-)**