ILOVEB1TC0IN Miner v0.9.4.6 | Ethereum+Bytom - Dual AMD+NVIDIA GPU Miner
Latest version is v0.9.4.6
Download / Build:
https://github.com/qcoinofficial/zerotolerance/releasesFEATURES:
- Like Claymore's Dual ETH+DECRED/SIA/ETC miner - ILOVEB1TC0IN Miner has "Dual mining" mode: mining both Ethereum and Bytom at the same time, with little impact on Ethereum mining speed. Ethereum-only mining mode is supported as well.
- Supports both AMD and NVIDIA cards, even mixed.
- No DAG files.
- Supports all Stratum versions for Ethereum: can be used directly without any proxies with all pools that support eth-proxy, qtminer or miner-proxy.
- Supports both HTTP and Stratum
- Supports failover.
- Displays detailed mining information and hashrate for every card.
- Supports remote monitoring and management.
- Supports GPU selection, built-in GPU overclocking features and temperature management.
- Supports Ethereum forks (Expanse, etc).
This version is POOL/SOLO for Ethereum AND/OR Bytom.
NOTE: Much of this miner was developed using features of Claymore's Dual ETH miner.
For old AMD cards, Catalyst (Crimson) 15.12 is required for best performance and compatibility.
For AMD 4xx/5xx cards (Polaris) you can use any recent drivers.
For AMD cards, set the following environment variables, especially if you have 2...4GB cards:
GPU_FORCE_64BIT_PTR 0
GPU_MAX_HEAP_SIZE 100
GPU_USE_SYNC_OBJECTS 1
GPU_MAX_ALLOC_PERCENT 100
GPU_SINGLE_ALLOC_PERCENT 100
For multi-GPU systems, set Virtual Memory size in Windows at least 16 GB (better more):
"Computer Properties / Advanced System Settings / Performance / Advanced / Virtual Memory".
There is a 1% developer fee for ETH mining, and a 1.5% developer fee for ETH+BTM dual mining.
This version is for recent AMD videocards only: 7xxx, 2xx and 3xx, 2GB or more. Recent NVIDIA videocards are supported as well.
COMMAND LINE OPTIONS:
-pool Ethereum pool address. Only Stratum protocol is supported for pools. Miner supports all pools that are compatible with Dwarfpool proxy and accept Ethereum wallet address directly.
For solo mining, specify "http://" before address, note that this mode is not intended for proxy or HTTP pools, also "-allpools 1" will be set automatically in this mode.
Note: The miner supports all Stratum versions for Ethereum, HTTP mode is necessary for solo mining only.
Using any proxies will reduce effective hashrate by at least 1%, so connect miner to Stratum pools directly. Using HTTP pools will reduce effective hashrate by at least 5%.
Miner also supports SSL/TLS encryption for all data between miner and pool (if pool supports encryption over stratum), it significantly improves security.
To enable encryption, use "ssl://" or "stratum+ssl://" prefix (or "tls" instead of "ssl"), for example: "-epool ssl://eu1.ethermine.org:5555"
-addr Your Ethereum wallet address. Also worker name and other options if pool supports it.
Pools that require "Login.Worker" instead of wallet address are not supported directly currently, but you can use "-allpools 1" option to mine there.
-pass Password for Ethereum pool, use "x" as password.
-worker Worker name, it is required for some pools.
-strat Ethereum Stratum mode. 0 - eth-proxy mode (for example, dwarpool.com), 1 - qtminer mode (for example, ethpool.org),
2 - miner-proxy mode (for example, coinotron.com), 3 - nicehash mode. 0 is default.
-algo Ethereum algorithm mode for AMD cards. 0 - optimized for fast cards, 1 - optimized for slow cards, 2 - for gpu-pro Linux drivers. -1 - autodetect (default, automatically selects between 0 and 1).
You can also set this option for every card individually, for example "-etha 0,1,0".
-asm (AMD cards only) enables assembler GPU kernels. In this mode some tuning is required even in ETH-only mode.
Specify "-asm 0" to disable this option. You can also specify values for every card, for example "-asm 0,1,0". Default value is "1".
If ASM mode is enabled, miner must show "GPU #x: algorithm ASM" at startup.
NEW: added alternative assembler kernels for Tahiti, Tonga, Ellesmere, Baffin cards for ETH-only mode.
-oldkernels (AMD cards only) specify "-oldkernels 1" to use old-style GPU kernels from v10, they can be more stable for hard OC and custom BIOSes.
-inten Ethereum intensity. Default value is 8, you can decrease this value if you don't want Windows to freeze or if you have problems with stability. The most low GPU load is "-ethi 0".
Also "-inten" now can set intensity for every card individually, for example "-inten 1,8,6".
You can also specify negative values, for example, "-inten -8192", it exactly means "global work size" parameter which is used in official miner.
-eres this setting is related to Ethereum mining stability. Every next Ethereum epoch requires a bit more GPU memory, miner can crash during reallocating GPU buffer for new DAG.
To avoid it, miner reserves a bit larger GPU buffer at startup, so it can process several epochs without buffer reallocation.
This setting defines how many epochs miner must foresee when it reserves GPU buffer, i.e. how many epochs will be processed without buffer reallocation. Default value is 2.
-allpools Specify "-allpools 1" if miner does not want to mine on specified pool (because it cannot mine devfee on that pool), but you agree to use some default pools for devfee mining.
Note that if devfee mining pools will stop, entire mining will be stopped too.
-allcoins Specify "-allcoins 1" to be able to mine Ethereum forks, in this mode miner will use some default pools for devfee Ethereum mining.
Note that if devfee mining pools will stop, entire mining will be stopped too.
Miner has to use two DAGs in this mode - one for Ethereum and one for Ethereum fork, it can cause crashes because DAGs have different sizes.
Therefore for this mode it is recommended to specify current Ethereum epoch (or a bit larger value),
for example, "-allcoins 47" means that miner will expect DAG size for epoch #47 and will allocate appropriate GPU buffer at starting, instead of reallocating bigger GPU buffer (may crash) when it starts devfee mining.
Another option is to specify "-allcoins -1", in this mode miner will start devfee round immediately after start and therefore will get current epoch for Ethereum, after that it will be able to mine Ethereum fork.
If you mine ETC on some pool that does not accept wallet address but requires Username.Worker instead, the best way is to specify "-allcoins etc", in this mode devfee mining will be on ETC pools and DAG won't be recreated at all.
-poolbtm Bytom pool address. Use "http://" prefix for HTTP pools, "stratum+tcp://" for Stratum pools. If prefix is missed, Stratum is assumed.
-addrbtm Your Bytom wallet address or worker name, it depends on pool.
-passbtm Password for Bytom pool.
-indexbtm GPU indexes, default is all available GPUs. For example, if you have four GPUs "-indexbtm 02" will enable only first and third GPUs (#0 and #2).
You can also turn on/off cards in runtime with "0"..."9" keys and check current statistics with "s" key.
For systems with more than 10 GPUs: use letters to specify indexes more than 9, for example, "a" means index 10, "b" means index 11, etc; also "a", "b", and "c" keys allow you to turn on/off GPU #10, #11 and #12 in runtime.
-mode Select mining mode:
"-mode 0" (default) means dual Ethereum + Bytom mining.
"-mode 1" means Ethereum-only mining mode. You can set this mode for every card individually, for example, "-mode 1-02" will set mode "1" for first and third GPUs (#0 and #2).
For systems with more than 10 GPUs: use letters to specify indexes more than 9, for example, "a" means index 10, "b" means index 11, etc.
-watchdog watchdog option. Default value is "-watchdog 1", it enables watchdog, miner will be closed (or restarted, see "-r" option) if any thread is not responding for 1 minute or OpenCL call failed.
Specify "-watchdog 0" to disable watchdog.
-r Restart miner mode. "-r 0" (default) - restart miner if something wrong with GPU. "-r -1" - disable automatic restarting. -r >20 - restart miner if something
wrong with GPU or by timer. For example, "-r 60" - restart miner every hour or when some GPU failed.
"-r 1" closes miner and execute "reboot.bat" file ("reboot.bash" or "reboot.sh" for Linux version) in the miner directory (if exists) if some GPU failed.
So you can create "reboot.bat" file and perform some actions, for example, reboot system if you put this line there: "shutdown /r /t 5 /f".
-minspeed minimal speed for ETH, in MH/s. If miner cannot reach this speed for 5 minutes for any reason, miner will be restarted (or "reboot.bat" will be executed if "-r 1" is set). Default value is 0 (feature disabled).
You can also specify negative values if you don't want to restart miner due to pool connection issues; for example, "-minspeed -50" will restart miner only if it cannot reach 50Mh/s at good pool connection.
-retrydelay delay, in seconds, between connection attempts. Default values is "20". Specify "-retrydelay -1" if you don't need reconnection, in this mode miner will exit if connection is lost.
-dbg debug log and messages. "-dbg 0" - (default) create log file but don't show debug messages.
"-dbg 1" - create log file and show debug messages. "-dbg -1" - no log file and no debug messages.
-logfile debug log file name. After restart, miner will append new log data to the same file. If you want to clear old log data, file name must contain "noappend" string.
If missed, default file name will be used. You can also use this option to specify folder for log files, use slash at the end to do it, for example, "-logfile logs\".
-logsmaxsize maximal size of debug log files, in MB. At every start the miner checks all files in its folder, selects all files that contain "_log.txt" string and removes oldest files if summary files size is larger than specified value.
Specify "-logsmaxsize 0" to cancel old logs removal. Default value is 1000 (i.e. about 1GB of log files are allowed).
-benchmark benchmark mode, specify "-benchmark 1" to see hashrate for your hardware. You can also specify epoch number for benchmark, for example, "-benchmark 110".
-timeout1 job timeout for ETH, in minutes. If miner does not get new jobs for this time, it will disconnect from pool. Default value is 10.
-timeout2 job timeout for second coin in dual mode, in minutes. If miner does not get new jobs for this time, it will disconnect from pool. Default value is 30.
-tt set target GPU temperature. For example, "-tt 80" means 80C temperature. You can also specify values for every card, for example "-tt 70,80,75".
You can also set static fan speed if you specify negative values, for example "-tt -50" sets 50% fan speed. Specify zero to disable control and hide GPU statistics.
"-tt 1" (default) does not manage fans but shows GPU temperature and fan status every 30 seconds. Specify values 2..5 if it is too often.
Note: for NVIDIA cards in Linux OS temperature management is not supported, only temperature monitoring is supported.
Note: for Linux gpu-pro drivers, miner must have root access to manage fans, otherwise only monitoring will be available.
-tstop set stop GPU temperature, miner will stop mining if GPU reaches specified temperature. For example, "-tstop 95" means 95C temperature. You can also specify values for every card, for example "-tstop 95,85,90".
This feature is disabled by default ("-tstop 0"). You also should specify non-zero value for "-tt" option to enable this option.
If it turned off wrong card, it will close miner in 30 seconds.
You can also specify negative value to close miner immediately instead of stopping GPU, for example, "-tstop -95" will close miner as soon as any GPU reach 95C temperature.
-tstart set start temperature for overheated GPU that was previously stopped with "-tstop" option. For example, "-tstop 95 -tstart 50" disables GPU when it reaches 95C and re-enables it when it reaches 50C.
You can also specify values for every card, for example "-tstart 50,55,50". Note that "-tstart" option value must be less than "-tstop" option value.
This feature is disabled by default ("-tstart 0"). You also should specify non-zero value for "-tt" option to enable this option.
-fanmax set maximal fan speed, in percents, for example, "-fanmax 80" will set maximal fans speed to 80%. You can also specify values for every card, for example "-fanmax 50,60,70".
This option works only if miner manages cooling, i.e. when "-tt" option is used to specify target temperature. Default value is "100".
Note: for NVIDIA cards this option is supported in Windows only.
-fanmin set minimal fan speed, in percents, for example, "-fanmin 50" will set minimal fans speed to 50%. You can also specify values for every card, for example "-fanmin 50,60,70".
This option works only if miner manages cooling, i.e. when "-tt" option is used to specify target temperature. Default value is "0".
Note: for NVIDIA cards this option is supported in Windows only.
-cclock set target GPU core clock speed, in MHz. If not specified or zero, miner will not change current clock speed. You can also specify values for every card, for example "-cclock 1000,1050,1100,0".
For NVIDIA you can also specify delta clock by using "+" and "-" prefix, for example, "-cclock +300,-400,+0".
Note: for some drivers versions AMD blocked underclocking for some reason, you can overclock only.
Note: this option changes clocks for all power states, so check voltage for all power states in WattMan or use -cvddc option.
By default, low power states have low voltage, setting high GPU clock for low power states without increasing voltage can cause driver crash.
Note: for NVIDIA cards this option is supported in Windows only.
-mclock set target GPU memory clock speed, in MHz. If not specified or zero, miner will not change current clock speed. You can also specify values for every card, for example "-mclock 1200,1250,1200,0".
For NVIDIA you can also specify delta clock by using "+" and "-" prefix, for example, "-cclock +300,-400,+0".
Note: for some drivers versions AMD blocked underclocking for some reason, you can overclock only.
Note: for NVIDIA cards this option is supported in Windows only.
-powlim set power limit, usually from -50 to 50. For example, "-powlim -20" means 80% power limit. If not specified, miner will not change power limit. You can also specify values for every card, for example "-powlim 20,-20,0,10".
Note: for NVIDIA cards this option is supported in Windows only.
-cvddc set target GPU core voltage, multiplied by 1000. For example, "-cvddc 1050" means 1.05V. You can also specify values for every card, for example "-cvddc 900,950,1000,970". Supports latest AMD 4xx cards only in Windows.
Note: for NVIDIA cards this option is not supported.
-mvddc set target GPU memory voltage, multiplied by 1000. For example, "-mvddc 1050" means 1.05V. You can also specify values for every card, for example "-mvddc 900,950,1000,970". Supports latest AMD 4xx cards only in Windows.
Note: for NVIDIA cards this option is not supported.
-mport remote monitoring/management port. Default value is -3333 (read-only mode), specify "-mport 0" to disable remote monitoring/management feature.
Specify negative value to enable monitoring (get statistics) but disable management (restart, uploading files), for example, "-mport -3333" enables port 3333 for remote monitoring, but remote management will be blocked.
You can also use your web browser to see current miner state, for example, type "localhost:3333" in web browser.
Warning: use negative option value or disable remote management entirely if you think that you can be attacked via this port!
By default, miner will accept connections on specified port on all network adapters, but you can select desired network interface directly, for example, "-mport 127.0.0.1:3333" opens port on localhost only.
-mpsw remote monitoring/management password. By default it is empty, so everyone can ask statistics or manage miner remotely if "-mport" option is set. You can set password for remote access (at least EthMan v3.0 is required to support passwords).
-colors enables or disables colored text in console. Default value is "1", use "-colors 0" to disable coloring. Use 2...4 values to remove some of colors.
-v displays miner version, sample usage: "-v 1".
-altnum alternative GPU indexing. This option does not change GPU order, but just changes GPU indexes that miner displays, it can be useful in some cases. Possible values are:
0: default GPU indexing. For example, if you specify "-di 05" to select first and last GPUs of six GPUs installed, miner will display these two selected cards as "GPU0" and "GPU1".
1: same as "0", but start indexes from one instead of zero. For example, if you specify "-di 05" to select first and last GPUs of six GPUs installed, miner will display these two selected cards as "GPU1" and "GPU2".
2: alternative GPU indexing. For example, if you specify "-di 05" to select first and last GPUs of six GPUs installed, miner will display these two selected cards as "GPU0" and "GPU5".
3: same as "2", but start indexes from one instead of zero. For example, if you specify "-di 05" to select first and last GPUs of six GPUs installed, miner will display these two selected cards as "GPU1" and "GPU6".
Default value is "0".
-platform selects GPUs manufacturer. 1 - use AMD GPUs only. 2 - use NVIDIA GPUs only. 3 - use both AMD and NVIDIA GPUs. Default value is "3".
-checkcert only for SSL connection: verify pool certificate. Default value is "1" (verify), use "-checkcert 0" to skip certificate verification.
CONFIGURATION FILE
You can use "config.txt" file instead of specifying options in command line.
If there are not any command line options, miner will check "config.txt" file for options.
If there is only one option in the command line, it must be configuration file name.
If there are two or more options in the command line, miner will take all options from the command line, not from configuration file.
Place one option per line, if first character of a line is ";" or "#", this line will be ignored.
You can also use environment variables in "epools.txt" and "config.txt" files. For example, define "WORKER" environment variable and use it as "%WORKER%" in config.txt or in epools.txt.
SAMPLE USAGE
Dual mining:
ethpool, ethermine (and Stratum for Bytom):
zerotolerance.exe -pool us1.ethpool.org:3333 -addr 0xD69af2A796A737A103F12d2f0BCC563a13900E6F.YourWorkerName -pass x -poolbtm stratum+tcp://yiimp.ccminer.org:3252 -dwal DsUt9QagrYLvSkJHXCvhfiZHKafVtzd7Sq4 -dpsw x
you can also specify "-esm 1" option to enable "qtminer" mode, in this mode pool will display additional information about shares (accepted/rejected), for example:
zerotolerance.exe -pool us1.ethermine.org:4444 -esm 1 -addr 0xD69af2A796A737A103F12d2f0BCC563a13900E6F.YourWorkerName -pass x -poolbtm stratum+tcp://yiimp.ccminer.org:3252 -dwal DsUt9QagrYLvSkJHXCvhfiZHKafVtzd7Sq4 -dpsw x
ethpool, ethermine (and Siacoin solo):
zerotolerance.exe -pool us1.ethpool.org:3333 -addr 0xD69af2A796A737A103F12d2f0BCC563a13900E6F.YourWorkerName -pass x -poolbtm http://localhost:9980/miner/header -dcoin sia
ethpool, ethermine (and Siacoin pool):
zerotolerance.exe -pool us1.ethpool.org:3333 -addr 0xD69af2A796A737A103F12d2f0BCC563a13900E6F.YourWorkerName -pass x -poolbtm http://sia-eu1.nanopool.org:9980/miner/header?address=3be0304dee313515cf401b8593a0c1df905ed13f0adaee89a8d7337d2ba8209e5ca9f297bbc2 -dcoin sia
ethpool, ethermine (and Siacoin pool with worker name):
zerotolerance.exe -pool us1.ethpool.org:3333 -addr 0xD69af2A796A737A103F12d2f0BCC563a13900E6F.YourWorkerName -pass x -poolbtm http://sia-eu1.nanopool.org:9980/miner/header?"address=YourSiaAddress&worker=YourWorkerName" -dcoin sia
same for siamining pool:
zerotolerance.exe -pool us1.ethpool.org:3333 -addr 0xD69af2A796A737A103F12d2f0BCC563a13900E6F.YourWorkerName -pass x -dpool "http://siamining.com:9980/miner/header?address=3be0304dee313515cf401b8593a0c1df905ed13f0adaee89a8d7337d2ba8209e5ca9f297bbc2&worker=YourWorkerName" -dcoin sia
dwarfpool (and Stratum for Decred):
zerotolerance.exe -pool eth-eu.dwarfpool.com:8008 -addr 0xD69af2A796A737A103F12d2f0BCC563a13900E6F/YourWorkerName -pass x -poolbtm stratum+tcp://dcr.suprnova.cc:3252 -dwal Redhex.my -dpsw x
Read dwarfpool FAQ for additional options, for example, you can setup email notifications if you specify your email as password.
nanopool Ethereum+Bytom:
zerotolerance.exe -pool eth-eu1.nanopool.org:9999 -addr YOUR_ETH_WALLET/YOUR_WORKER/YOUR_EMAIL -epsw x -pool2 "http://sia-eu1.nanopool.org:9980/miner/header?address=YOUR_BTM_WALLET&worker=YOUR_WORKER_NAME&email=YOUR_EMAIL" -coin BTM
coinotron:
zerotolerance.exe -pool coinotron.com:3344 -addr Redhex.rig1 -esm 2 -epsw x -dpool http://dcr.suprnova.cc:9111 -addrbtm Redhex.my -pass x -allpools 1
coinmine:
zerotolerance.exe -pool eth.coinmine.pl:4000 -addr USERNAME.WORKER -esm 2 -epsw WORKER_PASS -allpools 1 -dpool stratum+tcp://dcr.coinmine.pl:2222 -dwal USERNAME.WORKER -dpsw WORKER_PASS
ethpool+suprnova Ethereum+Pascal:
zerotolerance.exe -pool us1.ethpool.org:3333 -addr 0xD69af2A796A737A103F12d2f0BCC563a13900E6F.YourWorkerName -pass x -poolbtm stratum+tcp://pasc.suprnova.cc:5279 -dwal YourLogin.YourWorkerName -dpsw x -dcoin pasc -allpools 1
nicehash Ethereum+Blake2s:
zerotolerance.exe -pool stratum+tcp://daggerhashimoto.eu.nicehash.com:3353 -addr 1LmMNkiEvjapn5PRY8A9wypcWJveRrRGWr -pass x -esm 3 -allpools 1 -estale 0 -dpool stratum+tcp://blake2s.eu.nicehash.com:3361 -dwal 1LmMNkiEvjapn5PRY8A9wypcWJveRrRGWr -dcoin blake2s
nicehash Ethereum+Keccak:
zerotolerance.exe -pool stratum+tcp://daggerhashimoto.eu.nicehash.com:3353 -addr 1LmMNkiEvjapn5PRY8A9wypcWJveRrRGWr -pass x -esm 3 -allpools 1 -estale 0 -dpool stratum+tcp://keccak.eu.nicehash.com:3338 -dwal 1LmMNkiEvjapn5PRY8A9wypcWJveRrRGWr -dcoin keccak