GPU/CPU Mining script with intelligent profit-switching between miningpools, algorithms, miners, using all possible combinations of devices (NVIDIA, AMD, CPU). Features: actively maintained, uses the top actual miner programs (Bminer, Ccminer, Claymore, Dstm, EnemyZ, Sgminer, T-rex and more) easy setup wizard, webinterface, auto update.
Clone or download
RainbowMiner Update miner TRex to v0.8.9 (nvidia)
Performance improvements: +2-3% for x16 family of algorithms (x16r, bcd, x17, x22i etc.)
Add config parameter: --no-nvml - Disable NVML GPU stats.
Display miner version next to Uptime info.
Latest commit 32d29ca Dec 18, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
APIs Update APIs Dec 3, 2018
Balances Add balance for MinerMore Nov 29, 2018
Data Update miner TRex to v0.8.9 (nvidia) Dec 18, 2018
Includes Update nvidia-smi.exe to v416.36 Oct 25, 2018
Miners Update miner TRex to v0.8.9 (nvidia) Dec 18, 2018
MinersOldVersions Update miner Phoenix to v4.0b (amd,nvidia) Dec 4, 2018
OpenCL Beautify OpenCL Jun 4, 2018
Pools Update pools CryptoKnight & PocketWhale Dec 15, 2018
web Update localhost/API Dec 6, 2018
7z.dll Initial Commit May 22, 2018
7z.exe Initial Commit May 22, 2018
API.psm1 Update core Nov 30, 2018
Asyncloader.psm1 Update asyncloader Nov 30, 2018
Cleanup.ps1 Update Cleanup.ps1 Dec 15, 2018
Core.psm1 Update core Dec 16, 2018
Downloader.ps1 Update core Dec 2, 2018
GPUtest.bat Update GPUtest.bat Oct 22, 2018
GPUtest.ps1 Update GPUtest.ps1 Nov 9, 2018
Include.psm1 Update core Dec 17, 2018
LICENSE Initial commit May 22, 2018
ListDevices.bat Update ListDevices Sep 15, 2018
ListDevices.ps1 Update core Sep 20, 2018
MinerLog.bat Update to v3.4.0.0 Jun 9, 2018
README.md Update README.md Dec 17, 2018
RainbowMiner.ps1 Update core Dec 16, 2018
Reader.ps1 Bugifx Reader May 22, 2018
RemoveLogs.bat Initial Commit May 22, 2018
RemovePresets.bat Update core Sep 5, 2018
ResetBenchmark.bat Update core Sep 6, 2018
ResetBenchmarkAMD.bat Update core Sep 6, 2018
ResetBenchmarkCPU.bat Update core Sep 6, 2018
ResetBenchmarkNVIDIA.bat Update core Sep 6, 2018
ResetProfit.bat Update core Sep 1, 2018
RestartDisplayDriversNvidia.bat Add RestartDisplayDriversNvidia.bat Sep 3, 2018
Setup.psm1 Update core Dec 16, 2018
Start.bat Update start Sep 20, 2018
Stopp.bat Initial Commit May 22, 2018
TouchBenchmark.bat Update core Sep 1, 2018
Updater.bat Add Updater.bat Aug 16, 2018
Updater.ps1 Update core Oct 24, 2018

README.md

RainbowMiner current release current release date open issues

RELEASES: https://github.com/RainbowMiner/RainbowMiner/releases
Actual master.zip: Developer Version master.zip
Central monitoring for all of your rigs: https://rbminer.net
Discord: https://discord.gg/ZBNVWYY

INTRODUCTION

GPU/CPU Mining script with intelligent auto-switching between different miningpools, algorithm, miner programs using all possible combinations of devices (NVIDIA, AMD and CPU), optionally including cost of electricity into profit calculations and stop mining, if no longer profitable. Features: easy setup wizard with adhoc working default (no editing of files needed), GUI-webinterface, selection of devices to be used, very low CPU usage.

alt text

FEATURE SUMMARY

  • Multi-Platform (AMD, NVIDIA, CPU)
  • Profit auto-switch between mining programs and algorithm for GPUs & CPUs (optimized one for each vendor vs. one for each possible device combination)
  • Profit auto-switch between pools (AHashPool, BlazePool, BlockCruncher, BlockMasters, Bsod, CryptoKnight, Ethermine, GosCx, HashRefinery, Icemining, MinerMore, MinerRocks, MiningPoolHub, MiningRigRentals, Nanopool, Nicehash, PhiPhiPool, PocketWhale, Ravenminer, StarPool, YiiMP and Zpool)
  • Profit calculation, including real cost of electricity per miner
  • Uses the top actual available miner programs (Bminer, Ccminer, Claymore, CryptoDredge, Dstm, EnemyZ, Ewbf, Sgminer, T-Rex and many more)
  • Easy setup wizard with adhoc working default - click Start.bat and off you go (RainbowMiner will ask for your credentials, no hassle with editing configuration files)
  • Build-in automatic update
  • Mining devices freely selectable
  • Finetune miner- and pool-configuration during runtime
  • Bind/exclude devices to/from specific algorithm and miners
  • Define pool's algorithms and coins
  • Use unlimited custom overclocking profiles per miner/algorithm
  • Easy overclocking of gpus (memory, core, powerlimit and voltage)
  • Switch MSI Afterburner profiles per miner/algorithm
  • Includes OhGodAnETHlargementPill
  • Very low CPU usage to increase CPU mining profit
  • Pause mining without exiting the RainbowMiner
  • Full automatic update
  • Live monitoring web-interface at localhost:4000
  • Central monitoring of all your rigs at https://rbminer.net

REQUIRED PRE-REQUESITES

  1. Install PowerShell 6: Download Installer for version 6.1.1
  2. Install Microsoft .NET Framework 4.5.1 or later: Web Installer
  3. Update GPU drivers: Nvidia 417.35 and AMD Adrenalin 2019 Edition 18.12.2
  4. RainbowMiner's overclocking features rely on MSI Afterburner, you should install and run it: Download

Finally: check, if Powershell 6 is in your PATH, because RainbowMiner will not run correctly, if the path to powershell is missing. Sometimes "C:\Program Files\PowerShell\6" has to be added manually to the PATH environement variable after installing Powershell 6.1.0. Here is a nice tutorial, how to add to PATH environment variable https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/amp/

INSTALLATION

  1. Download and extract to your desktop: current release

  2. Add the directory of RainbowMiner to the exceptions of your antivirus program. Some miner cause false virus alerts.

  3. Right-click "Start.bat", choose "Run as administrator".

If windows prompts with "Windows protected your PC", click on "More info", then "Run anyway"

Picture

  1. Enter your credentials:

    • your btc-wallet address (one for general use, and one for NiceHash)
    • your desired workername (or accept the default)
    • your MiningPoolHub username, if you plan to use this pool
    • your region. Valid names are: US, Europe, Asia
    • your currencies. Valid currencies are: BTC, USD, EUR, GBP, ETH, ..
    • the pools, you want to mine as comma separated list.
    • the algorithm, you want to mine as comma separated list.
    • the devices, you want to use for mining. Valid descriptors are: gpu, cpu, nvidia, amd (RainbowMiner will show you, which devices are available on your machine) or use your device names (without spaces, without leading geforce): gtx1070, gtx1080ti ..
  2. Let the downloads and benchmarking finish (be patient! This might take a while. Anyway: it will already mine to your wallets)

Done!

Valid poolnamesahashpool, ahashpoolcoins, blazepool, blockcruncher, blockmasters, blockmasterscoins, bsod, cryptoknight, ethermine, goscx, hashrefinery, icemining, minerrocks, miningpoolhub, miningpoolhubcoins, mininigrigrentals, nanopool, nicehash, nlpool, phiphipool, ravenminer, starpool, yiimp, zpool, zpoolcoins
Valid algorithms Balloon, Bitcore, Blakecoin, Blake2s, BlakeVanilla, C11, CryptoNightV8, CryptoNightFreeHaven, Ethash, X11, Decred, Equihash, Equihash144, Equihash192, Equihash-BTG, Groestl, Hex, HMQ1725, HSR, JHA, Keccak, Lbry, Lyra2RE2, Lyra2z, MyriadGroestl, NeoScrypt, Pascal, Phi, Phi2, Polytimos, Quark, Qubit, Scrypt, SHA256, Sib, Skunk, Skein, Tensority, Timetravel, Tribus, Veltor, X11, X12, X11evo, X16R, X16S, X17, X18, X21s, X22i, Yescrypt and many more

HOTKEYS

You can press the follwing keys, while RainbowMiner is waiting for the next run.

  • E[x]it Miningscript = stop all running miner and exit RainbowMiner
  • [S]kip switching prevention = immediately start the most profitable miner, without waiting for the switching prevention
  • start [D]ownloader = start the downloader manually (only needed, if you manually updated a miner)
  • [C]onfiguration = goto the configuration setup (after setup all miner will be restarted)
  • [V]erbose off/on = switch the user interface from lite(=off) to full(=on)
  • [P]ause = stop all running miner and wait until user presses P again
  • [U]pdate = if a new release of RainbowMiner is available, this option will show up. Pressing this key will start the automatic update.

RECOMMENDATIONS & HELPERS

  • Set your Windows virtual memory size to a fixed size of at least 16GB, or better to the sum of your GPU memories x 1.5, e.g. if you have 6x GTX1070 8GB installed, use at least 72GB (Computer Properties->Advanced System Settings->Performance->Advanced->Virtual Memory)
  • Submit bugs and feature requests here: https://github.com/RainbowMiner/RainbowMiner/issues
  • if mining on GeForce GTX 1070/GTX 1070Ti/GTX 1080/GTX 1080Ti, it is recommended to disable "Force P2 State", so that the card will always operate in P0 state. How to set P0 state for my GTX1070 and GTX1080
  • Important: NEVER EDIT THE "Start.bat" ! It will break the autoupate. If you want to add tools to the batch, make a copy of the Start.bat and edit and use this to start RainbowMiner.
  • the root directory of RainbowMiner contains the following, additional batch files:
    • ListDevices.bat: if clicked, a window will popup and list all available devices
    • MinerLog.bat: it reopens the window to show the output of the miners. Useful, if you unintentionally closed this log window.
    • RemoveLogs.bat: delete all log files to save some disk space
    • RemovePresets.bat: block presets from being written to miners.config.txt (see section MINERS)
    • ResetBenchmark.bat: reset all benchmarks
    • ResetBenchmarkAMD.bat: reset all AMD benchmarks
    • ResetBenchmarkCPU.bat: reset all CPU benchmarks
    • ResetBenchmarkNVIDIA.bat: reset all NVIDIA benchmarks
    • ResetProfit.bat: reset RainbowMiner's profit calculation
    • Stopp.bat: halt RainbowMiner at once
    • Updater.bat: update to newest release of RainbowMiner manually. Make sure, you stop RainbowMiner before running this helper

WEB-INTERFACE

For your convenience, you can monitor and setup RainbowMiner using your web browser. The web interface very prominently shows RainbowMiner's live profitability and the current BTC exchange rates. To start the web interface, simply open the URL localhost:4000 in a new browser tab.

  • Dashboard: shows the live running miners & pool balances, click the Pause/Restart button to halt and restart RainbowMiner. It will take up to 20 seconds, until the miner script finalize the pause/restart procedure, so give it some time.
  • Selected Devices: lists the preselected devices
  • All Devices: lists all available devices in your rig
  • Best Pools: lists the best possible pool for every algorithm
  • All Pools: lists all pools available vs. all algorithm
  • Miners: lists all miners vs. all algorithm
  • Active Miners: lists the best possible miners for each algorithm
  • Benchmarks: monitor and reset benchmarks of failed and updated miners, reset all benchmarks

POOLS

AHashPool / AHashPoolCoinshttps://www.ahashpool.com/ auto-exchange and payout in BTC
BlazePool https://www.blazepool.com/ auto-exchange and payout in BTC
BlockCruncherhttps://www.blockcruncher.com/ (pigeoncoin-pool, pays in PGN, set your PGN-address in pools configuration or edit pools.config.txt
BlockMasters / BlockMastersCoins

https://www.blockmasters.co/ auto-exchange and payout in BTC

  • 'blockmasters' mine most profitable algorithm. Pool chooses coin or merged mining benefits
  • 'blockmasterscoins' mine most profitable coin. Either with auto-exchange to a currency of wish, or mine directly to individual coin wallets. If you setup RainbowMiner with many algorithm, expect a lot of switching.
Bsod https://bsod.pw/ no auto-exchange, a seperate wallet address is needed for each coin, you want to mine, set in pools configuration or edit pools.config.txt
CryptoKnight https://cryptoknight.cc/ no auto-exchange, dedicated to cryptonight mining, a seperate wallet address is needed for each coin, you want to mine, set in pools configuration or edit pools.config.txt
Ethermine https://ethermine.org/ no auto-exchange, a seperate wallet address is needed for each coin (ETH, ETC, ZEC) you want to mine, set in pools configuration or edit pools.config.txt - do not use together with pool Nanopool
GosCx https://gos.cx/ no auto-exchange, a seperate wallet address is needed for each coin, you want to mine, set in pools configuration or edit pools.config.txt
HashRefinery https://pool.hashrefinery.com auto-exchange and payout in BTC
Icemining https://icemining.ca/ no auto-exchange, very good BCD (BitcoinDiamond) performance, a seperate wallet address is needed for each coin you want to mine, set in pools configuration or edit pools.config.txt
MinerRocks https://miner.rocks/ no auto-exchange, dedicated to cryptonight mining, a seperate wallet address is needed for each coin, you want to mine, set in pools configuration or edit pools.config.txt
MinerMore https://minermore.com/ no auto-exchange, a seperate wallet address is needed for each coin, you want to mine, set in pools configuration or edit pools.config.txt
MiningPoolHub / MiningPooHubCoins

https://miningpoolhub.com/ auto-exchange and paymout in BTC, username required

  • 'miningpoolhub' parameter uses the 17xxx ports therefore allows the pool to decide on which coin is mined of a specific algorithm
  • 'miningpoolhubcoins' allows for RainbowMiner to calculate and determine what is mined from all of the available coins (20xxx ports).
MiningRigRentals https://www.miningrigrentals.com/ rent your complete rig to interested users in exchange for BTC, ETC, LTC or DASH. See extra section for more details
NanoPool https://nanopool.org/ no auto-exchange, a seperate wallet address is needed for each coin (ETH, ETC, ZEC, ETN, SIA, PASC), you want to mine, set in pools configuration or edit pools.config.txt - do not use together with pool Ethermine
Nicehash https://www.nicehash.com/ auto-exchange and payout in BTC, use of Nicehash wallet is recommended, see note below
NLpool https://www.nlpool.nl/ auto-exchange and payout in BTC, LTC or any coin, that is listed at the pool
PhiPhiPool https://www.phi-phi-pool.com auto-exchangeand payout in BTC or any coin, that is listed at the pool
PocketWhale https://freehaven.pocketwhale.info/ cryptonight freehaven XFH-pool for us region, pays in XFH, set your XFH-address in pools configuration or edit pools.config.txt. No price, so only suitable for FocusWallet mining.
Ravenminer https://www.ravenminer.com/ ravencoin-pool for us region, pays in RVN, set your RVN-address in pools configuration or edit pools.config.txt
RavenminerEu https://eu.ravenminer.com/ ravencoin-pool for eu region, pays in RVN, set your RVN-address in pools configuration or edit pools.config.txt
StarPool https://www.starpool.biz/ auto-exchange and payout in BTC, LTC or any coin, that is listed at the pool
YiiMP https://yiimp.eu/ no auto-exchange, a seperate wallet address is needed for each coin, you want to mine, set in pools configuration or edit pools.config.txt
Zpool https://www.zpool.ca/ auto-exchange and payout in BTC

Notes for NiceHash

If you plan to mine through Nicehash, I strongly recommend, that you register an account with them (https://www.nicehash.com/register). In this case, Nicehash will provide you with an extra NiceHash wallet/bitcoin address (RainbowMiner will ask for this address during the setup or configuration process). This lowers the minimum payout sum from 0.1BTC (for external wallet) to a very low 0.001BTC (for Nicehash wallet). An additional benefit for Coinbase users: sending BTC from the Nicehash wallet to your Coinbase account is free of charge.

Notes for the pools BlockCruncher, BlockMasters, Bsod, CryptoKnight, GosCx, HashRefinery, Icemining, MinerRocks, NLpool, PhiPhiPool, PocketWhale, Ravenminer, StarPool, YiiMP and Zpool

The miner can be setup to mine any coin or currency, that is listed at the respective pool. The pool will then payout to the given non-BTC wallet address. Take into account, that non-BTC payouts depend heavily on that coin being mined. If the pool has not or is not mining that currency, the payouts will be delayed until the pool has mined the blocks. Read the pools websites, about the mineability and reliability of a currency. It's recommended to use BTC as any other coin could be removed at anytime and payouts will not occur. The pools Bsod, CryptoKnight, GosCx, Icemining, MinerRocks, PhiPhiPool, PocketWhale, Ravenminer, Starpool and Yiimp do not have auto-exchange to BTC. Please be careful, what you choose to mine.

MINERS

  • The RainbowMiner contains a list of well approved miners in the directory "Miners"
  • The miner Excavator mines on NiceHash pool, only
  • Miners Excavator & Excavator1.4.4 run in their own miner window, even if you select to hide miner windows.
  • Each miner's algorithm can be fine tuned for each device in your mining rig

Special finetuning

The following miners can be fine tuned, using config files. Most of the config files are being generated upon the first start of the miner. All config files will be written once, only, and kept through miner updates. To let Rainbowminer recreate those files, they will have to be deleted.

Minername Type Path Configfile(s) Documentation Link
FireIce/XMR-Stak AMD Bin\Cryptonight-FireIce amd.txt https://github.com/fireice-uk/xmr-stak/blob/master/doc/tuning.md
FireIce/XMR-Stak CPU Bin\Cryptonight-FireIce cpu.txt https://github.com/fireice-uk/xmr-stak/blob/master/doc/tuning.md
FireIce/XMR-Stak NVIDIA Bin\Cryptonight-FireIce nvidia.txt https://github.com/fireice-uk/xmr-stak/blob/master/doc/tuning.md
JceminerCpu CPU Bin\CPU-Jceminer config_[algorithm]-CPU.txt https://bitcointalk.org/index.php?topic=3281187.0
SrbMiner AMD Bin\Cryptonight-Srbminer config_[algorithm]-[devicemodel].txt https://bitcointalk.org/index.php?topic=3167363.0

ALGORITHMS

RainbowMiner uses a build-in hash table to convert different algorithmnames to unique and beautified, internal representations. Because of this, you do not have to care too much about how to write an algorithm, when directly editing the "Config\config.txt" or using command line parameters. E.g. cryptonight-v7, cryptonight/1, cryptonightv7 would all be converted to CryptonightV7.

Special notes for Equihash

The different Equihash algorithms are distinguished using the following Parameters: (n, k). For example, the classic Equihash first used by Zcash used n = 200 and k = 9, so it became Equihash (200, 9).

The n and k values create enormous differences in the minimum memory requirement, and create enormous differences in how the actual mining software is coded in order to do the mining.

RainbowMiner uses the following nameing convention:

  • Equihash16x5 = Equihash (96, 5)
  • Equihash20x9 = Equihash (200, 9)
  • Equihash21x9 = Equihash (210, 9)
  • Equihash24x5 = Equihash (144,5)
  • Equihash24x7 = Equihash (192,7)

The new numbers (16x5, 20x9, ..) describe the number of bits matched in each round for the algorithm, and provide a relative measure of the “hardness” of the algorithm (the numbers can be calculated, using n and k: n/(k+1) )

RainbowMiner's build-in hash table makes it possible for you, to use many different algorithmnames. E.g. equihash-144_5, equihash1445, equihash-btg, equihash144btg will all be represented by Equihash24x5

OVERCLOCKING OVERVIEW

There are two ways to adjust overclocking values in RainbowMiner:

  • Option1: MSI Afterburner profiles
    • recommended for mining rigs with max. 6 identical GPUs
    • to enable, set "MSIAprofile" to the number of your default AB profile ([C]onfiguration->[C]ommon)
    • MSI Afterburner profiles are addressed by number 1-5
  • Option2: custom overclocking profiles
    • recommended for mining rigs with more than 6 or mixed GPUs
    • to enable, set "EnableOCProfiles" to "1" ([C]onfiguration->[C]ommon)
    • custom profiles have freely defined names (it differs from option 1!)
    • important: set a default profile for each GPU group ([C]onfiguration->[D]evices). Use the name of the profiles (look into ocprofiles.config.txt, if in doubt)
    • independant of MSI Afterburner

If you do not want to use the overclocking features in RainbowMiner: set both, "EnableOCProfiles" and "MSIAprofile", to "0" ([C]onfiguration->[C]ommon)

Frequently asked questions

Just wondering what would happen if in miners.config I set the ocprofile to a clock and then set it different within AF under the same profile number. Would one trump the other? If so which one would override?

Only one of the two OC options can be enabled at a time:

config.txt MSIAprofile EnableOCprofiles
Use ocprofiles.config.txt whatever 1
Use Afterburner profiles 1-5 0
No OC switching at all 0 0

The differences:

MSIAprofiles ocprofiles
Can handle parallel miners on different GPUs no yes
Depends on Afterburner yes no
Depends on nvidiaInspector no yes
Speed with more than 6 GPU slow fast
Works for Nvidia yes yes
Works for AMD yes no
max. number of profiles 5 unlimited
Individual profile names no yes

I set the ocprofile to a clock and then set it different within AF under the same profile number

  • MSI Afterburner profiles are fixed to a maximum of five and is being selected by their number 1 to 5 in parameter "MSIprofile" in miners.config.txt"
  • ocprofiles are unlimited in ammount, you decide what their names are. RainbowMiner comes with an example ocprofiles.config.txt, where the profiles are named "Profile1", "Profile", .. "Profile9". The profile is being selected by the full name in parameter "OCprofile" in miners.config.txt (for example "Profile2")

OC OPTION1: MSI AFTERBURNER PROFILES

Overclocking option, recommended for unique GPU mining rigs with maximum 6 GPU

Introduction

MSI Afterburner allows to configure up to five profiles. Each of which defines the exact overclocking parameters for any number of GPU. RainbowMiner will never change these values, but it can be defined for miners/algorithms/devices, that another profile than the default should be used during minining (miners.config.txt, fields "MSIAprofile"). RainbowMiner comes with some miner/algorithm presets, already.

Enable Profile Switching

By default, the profile switching is disabled. To enable MSI Afterburner profile switching:

  • check or set the path to MSIA (config.txt, field "MSIApath")
  • set the profile number, you want to be used as default (config.txt, field "MSIAprofile")

Explanation of operation

RainbowMiner's default setup has already preset some Profile fields for the following algorithms (miners.config.txt, fields "MSIAprofile"):

  • ClaymoreEthash-Keccak, NeoScrypt => Profile 3
  • Lyra2Re2, Lyra2z, X16r, X16s => Profile 4
  • ClaymoreEthash-Blake2s, ClaymoreEthash-Pascal => Profile 5

Remember: no overclocking values will be changed by RainbowMiner! It will switch your preset profiles, only.

I recommend you set the following profile setup in MSI Afterburner, so that you can use the default setup of RainbowMiner. The overclocking values in brackets (core clock/memory clock) are those I use for my GTX 1070 and are only for illustration.

  • Profile 1: no oc (e.g. +0/+0)
  • Profile 2: max. core / max. memory oc (e.g. +100/+400), good for most miners
  • Profile 3: max. core / half memory oc (e.g. +100/+200), recm. for claymore ethash-keccak, neoscrypt
  • Profile 4: max. core / low memory oc (e.g. +100/-500), recm. for lyra2re2, lyra2z, x16r, x16s
  • Profile 5: max. core / reduced memory oc (e.g. +100/+350), recm. for claymore ethash-blake2s, claymore ethash-pascal

Be careful when playing with OC, since this can damage your devices. RainbowMiner will not be responsible, if you kill your devices.

OC OPTION2: CUSTOM OVERCLOCKING PROFILES

Recommended for mining rigs with more than 6 GPU or different GPU

Introduction

Each miner/device/algorithm combination can have it's own overclocking values set by RainbowMiner. To enable: set "EnableOCProfiles" to "1" in your config.txt or use the [C]onfiguration->[C]ommon.

!! It is important, that you coose a default profile for each GPU device in your devices.config.txt !!

You can edit the file directly: put the name of your custom default profile into field "DefaultOCprofile" Alternatively, the devices can be changed using [C]onfiguration->[D]evices

1. setup overclocking profiles

Use [C]onfiguration->[O]C-Profiles to edit, create and delete overclocking profiles. Values for PowerLimit (%), ThermalLimit (°C), MemoryClockBoost (MHz), CoreClockBoost (MHz) and LockVoltagePoint (µV) (see hint below) can be defined. You may name the profiles like you want. Hint: Use the complete profile's names, when editing the config files directly. Of course you may also edit the ocprofiles.config.txt file directly.

Hint: LockVoltagePoint can only be set, if EnableOCvoltage is set to 1 in your config.txt (or use [C]onfiguration->[C]ommon to change)

2. set one default profile for each GPU group

With the help of [C]onfiguration->[D]evices it is very easy to choose a default profile for each GPU group used. The values can be edited directly in file devices.config.txt, too. Put the names of the default profiles into the property "DefaultOCprofile".

3. assign profiles to miner-device-algorithms

The assignment is done, using either [C]onfiguration->[M]iners or directly edited into the miners.config.txt file. Find your miner, the device it will use, plus the algorithm and put the profile's name into the field "OCprofile"

ADVANCED CONFIGURATION

RainbowMiner has a configuration function built-in: to change any parameter of the script, press key "C", while the script is running. There is no more need to edit the following config files directly.

Config files are found in directory "Config"

  • config.txt = general settings, wallet, etc.
  • pools.config.txt = pool setup, set a different wallet, workername for each pool and coin
  • miners.config.txt = individually add arguments to miner (selected by name and device names and algorithm)
  • devices.config.txt = control algorithms and miners to be used by specific devices
  • algorithms.config.txt = globally adjust algorithms, like min. hashrate, timetofind etc.
  • coins.config.txt = globally adjust specific coins, like min. hashrate, timetofind etc.
  • ocprofiles.confit.txt = setup custom overclocking profiles
  • autoexec.config.txt = add executables/commands to be executed when RainbowMiner starts

Note: if you have not started the Start.bat yet, there will be no config files! Start it first! Config files are in JSON format. Look here for to get an idea, how they work: https://www.tutorialspoint.com/json/index.htm Be careful, when editing these files. Every comma counts!

Config\config.txt

The config file will contain variables to reflect default values. You can safely replace those variables with values.

An example:

"API_ID": "$API_ID",
"API_Key": "$API_Key",

You may replace $API_ID and $API_Key with your MiningPoolHub USER ID/API KEY

"API_ID": "12345",
"API_Key": "0123456789abcdef0123456789abcdef0123456789abcdef",

Basic setup

  • Wallet = your general BTC wallet address
  • WorkerName = your desired worker name
  • UserName = your MiningPoolHub user name
  • Currency = currencies, you want to be shown [default=BTC,USD,EUR]
  • Region = your region, [default=US]
  • API_ID = your MiningPoolHub USER ID (found at MPH on page "Edit account")
  • API_Key = your MiningPoolHub API KEY (found at MPH on page "Edit account")
  • UIstyle = set to "full" for complete listing, set to "lite" for reduced listing [default=full]
  • LocalAPIport = enter a free web-interface port localhost: [default=4000]
  • EnableAutoUpdate = set to 1 if you want RainbowMiner to be updated automatically
  • EnableAutoAlgorithmAdd = set to 1 if Rainbowminer should add all newly added algorithms to your config.txt, during (automatic) update
  • EnableMinerStatus = set to 1 to enable central monitoring
  • MinerStatusURL = url to central monitoring server [default=https://rbminer.net]
  • MinerStatusKey = your unique miner status key (get one at https://rbminer.net, you can reuse MPM keys)

Select devices

  • DeviceName = list of device descriptors, with which you want to mine [default=gpu]
    • click ListDevices.bat to find out which devices are availabe
    • out of this table, models, vendors and names can be used to select
    • for mining on all GPUs, use "gpu"
    • for mining on all Nvidia GPUs use "nvidia"
    • for mining on all AMD GPUs use "amd"
    • for mining on CPU, use "cpu"
    • examples:
      • "nvidia"
      • "gtx1070,gtx1080,cpu"
      • "cpu,gpu"
      • "gpu#01,gpu#03"
  • CPUMiningThreads = enter the number of softwarethreads being used by CPU miners. Adds "-t [threads]" to commandline of cpuminer forks
  • CPUMiningAffinity = enter a hex number to define CPU mining core affinity (e.g. 0xAAAA). Adds "--cpu-affinity [affinity]" to commandline of cpuminer forks

If you defined CPUMiningThreads or CPUMiningAffinity, you may override the values for single miner, by adding your own "-t" and "--cpu-affinity" to the field Params in miners.config.txt. ClaymoreCPU, FireIce and JceminerCpu are not affected by these settings. They can be finetuned by editing config files (see section MINERS)

Select algorithms

  • Algorithm = list of algorithms, you want to mine [default=bitcore,blake2s,c11,cryptonightheavy,cryptonightv7,ethash,equihash,hmq1725,hsr,keccak,keccakc,lyra2re2,lyra2z,neoscrypt,pascal,phi,skein,skunk,timetravel,tribus,x16r,x16s,x17,vit,xevan,yescrypt,yescryptr16]
  • ExcludeAlgorithm = list of algorithms, you want to exclude from mining
  • ExcludeCoin = list of coins, you want to exclude from mining
  • ExcludeFromWatchdog = list of algorithms or miner, you want to exclude from the watchdog

Select miners

  • MinerName = list of miner, you want to use for mining (see directory Miners, without .ps1, e.g. CcminerAlexis78.ps1 -> CcminerAlexis78)
  • ExcludeMinerName = list of miner names, you want to exclude from mining
  • ExcludeMinersWithFee = exclude all miners, that have a developer fee build-in [default=0]
  • DisableDualMining = set to 1, if you want to disable all dual mining [default=0]
  • IgnoreFees = set to 1, if you do not want RainbowMiner to account the pool- and miner fees [default=0]
  • ShowMinerWindow = show (1) or do not show (0) miner windows. Note: excavator will always run in an extra window [default=0]
  • FastestMinerOnly = set to 1 to reduce list by only showing the fastest miner [default=1]
  • DisableExtendInterval = during benchmark, some miners will run longer to find an accurate hashrate. Set to 1 to disable the extended times (this is not recommended, as it may result in inaccurate hashrates or failed some miners) [default=0]

Select pools

  • PoolName = list of pool names, you want to use for mining [default=nicehash,blazepool,miningpoolhubmini]
  • ExcludePoolName = list of pool names, you want to exclude from mining
  • ShowPoolBalances = set to 1 to let RainbowMiner show your current pool balances [default=1]
  • ShowPoolBalancesDetails = set to 0 if coin balances at a pool should be added up to BTC [default=1]
  • ShowPoolBalancesExcludedPools = set to 1 to let RainbowMiner try to fetch balances from not used pools in addition to the currently activated pools [default=0]
  • PoolDataWindow = set global default for all pool data windows [default=estimate_current]
  • PoolStatAverage = set global default for all pool moving average price trend

Select mining mode

  • MiningMode = possible values are "legacy", "device" and "combo", see explanation below
    • "legacy": one miner will handle all devices of one vendor together. Only NVIDIA, AMD, CPU are possible to select.
    • "device" (default): each device group (e.g. GTX1070, RX570, CPU..) will get the most profitable miner to work on the different algorithm. If you have three different device groups, there will be three miners launched.
    • "combo": in addition to "device" mode, all possible combinations of device groups are taken into account. E.g. if all device types are considered most profitable for one specific miner, only one instance of the miner will be launched. Device types will only be combined for specific algorithm, if they have exactly equal params configured in miners.config.txt (the strings have to match). The combination of devices will be monitored seperatly: if the combo is less efficient than single miners, it will be deactivated automatically.
  • EnableResetVega = set to 1 to always reset Vega Gpus before mining

Set electricity cost handling

  • PowerPrice = price of 1kW/h (kilowatt per hour) that your electricity supplier charges [default=0]
  • PowerOffset = power offset to allow consideration for overhead power [default=0]
  • PowerPriceCurrency = currency of your PowerPrice [default=USD]
  • UsePowerPrice = set to (1), if electricity cost should be substracted from profits [default=0]
  • CheckProfitability = if no more miners are profitable and this is set to (1), RainbowMiner will idle, until profitability returns. UsePowerPrice needs to be (1) and a PowerPrice greater than zero must be set for this function to work. [default=0]

Technical/Other

  • Interval = timing interval in seconds of RainbowMiner [default=60]
  • SSL = set to 1, if only ssl connections wanted
  • Proxy = set your proxy address here, if you are using one
  • Delay = extra delay in secondes, between switching to avoid blue screen [default=0]
  • Watchdog = use (1) or do not use (0) watchdog [default=1]
  • UseTimeSync = set to 1, if RainbowMiner should adjust the windows clock by rtp [default=1]
  • SwitchingPrevention = finetune the switching prevention algorithm. Set to zero to disable [default=2]
  • EnableFastSwitching = set to 1 to remove switching prevention completly. Expect a lot of switching [default=0]
  • HashrateWeight = adjust weight of pool hashrates on the profit comparison in % (0..100, 0=disable) [default=20]
  • HashrateWeightStrength = adjust the strength of the weight (integer, 0=no weight, 100=linear, 200=square) [default=50]
  • PoolAccuracyWeight = adjust weight of pool accuracy on the profit comparison in % (0..100, 0=disable) [default=15]
  • RebootOnGPUFailure = (currently disabled)
  • EnableOCProfiles = set to 1, if you plan to use custom overclocking profiles [default=0]
  • EnableOCVoltage = set to 1, if you plan to set voltage for overclocking [default=0]
  • MSIApath = absolute windows path to MSI Afterburner executable [default=c:\Program Files (x86)\MSI Afterburner\MSIAfterburner.exe]
  • MSIAprofile = default MSI Afterburner profile (1-5), set to 0 to disable [default=2]
  • NVSMIpath = absolute windows path to Nvidia smi tools [default=c:\Program Files\NVIDIA Corporation\NVSMI]
  • MiningPriorityCPU = process priority for CPU miners (-2..2) [default=-2]
  • MiningPriorityGPU = process priority for GPU miners (-2..2) [default=-1]
  • AutoexecPriority = process priority for commands started via autoexec.txt (-2..2) [default=0]
  • EthPillEnable = set to "revA" or "revB" (read Wiki for more information on revA/revB), or "disable" to stop using the EthPill for Ethereum mining [default=disable]
  • RemoteAPI = set to 1 to enable accessability of API within your network [default=0]
  • Donate = set the minutes, you want RainbowMiner to work for the developer (min. is 10 minutes, equals to 0.7%) [default=24]
  • EnableAutoMinerPorts = set to 1, if miners get into conflict with the ports in use
  • DisableAPI = set to 1, if no localhost API is needed
  • DisableAsyncLoader = set to 1, if all net access should happen synchronous (used for debugging)
  • DisableMSIAmonitor = set to 1, to fully disable MSI Afterburner monitoring (if more than six AMD GPU are used for mining)
  • Quickstart = set to 1 to read all pool data from cache during startup (speeds up first start, but balance data may be out of date)
  • StartPaused = set to 1 to start RainbowMiner in pause mode (no mining, you will have to press "P" to enable mining)

Notes for HashrateWeight

The comparison prices of the pools will be scaled with the following formula:

compare price = price x (1-(HashrateWeight/100)x(1-(rel. hashrate)^(HashrateWeightStrength/100))

Config\pools.config.txt

Each pool has it's own section, in the pools.config.txt

Change payout currency of a pool / add more wallets (e.g. Ravenminer uses RVN)

The default pool config look like this:

"Zpool": {
    "BTC": "$Wallet",
    "Worker": "$WorkerName",
    "Penalty": 0
}

The line "BTC": "$Wallet" defines the payout wallet address. $Wallet uses the value in your config.txt, $ uses the value, defined for the corresponding currency in coins.config.txt If you want to change it to LTC, for example, you have to change this line like this:

"Zpool": {
    "LTC": "<YOUR_LITECOIN_ADDRESS>",
    "Worker": "$WorkerName",
    "Penalty": 0
}

Or like this, if you setup a global wallet address in coins.config.txt

"Zpool": {
    "LTC": "$LTC",
    "Worker": "$WorkerName",
    "Penalty": 0
}

For non-autoexchange pools, you may define multiple wallets. The wallets define, which coins may be mined at a pool. In the following example, Rainbowminer will mine RVN and SUQA on Icemining, hereby using the default RVN wallet in the coins.config.txt.

"Icemining": {
    "RVN": "$RVN",
    "SUQA": "<YOUR_SUQA_ADDRESS>"
    "Worker": "$WorkerName",
    "Penalty": 0
}

Alternatively you may instruct RainbowMiner to automatically use every currency defined in coins.config.txt (which is enabled by adding a wallet address and setting parameter "EnableAutoPool" to "1") for a certain pool. To do so, set paremeter "EnableAutoCoin" to "1". Example:

"Icemining": {
    "Worker": "$WorkerName",
    "Penalty": 0,
    "EnableAutoCoin": "1"
}

Change a pool's penalty

If you feel like a pool tends to exagerate it's results, you can set a penalty in % through the field "Penalty":

"Ravenminer": {
    "RVN": "<YOUR_RAVENCOIN_ADDRESS>",
    "Worker": "$WorkerName",
    "Penalty": 5
}

This would reduce the hashrate-results from the pool Ravenminer by 5%

Change a pool's time frame (data window)

To override the default data window "average2e" of the YiiMP based pools (AHashPool,BlazePool,BlockMasters,Hashrefinery,ZergPool,Zpool) the parameter "DataWindow" can be added to the pool's configuration record. Possible values are:

  • estimate_current (=default): the pool's current calculated profitability-estimation (more switching, relies on the honesty of the pool)
  • estimate_last24h: the pool's calculated profitability-estimation for the past 24 hours (less switching, relies on the honesty of the pool)
  • actual_last24h: the actual profitability over the past 24 hours (less switching)
  • minimum2: the minimum value of estimate_current and actual_last24h will be used
  • maximum2: the maximum value of estimate_current and actual_last24h will be used
  • average2: the calculated average of estimate_current and actual_last24h will be used
  • mininum2e: the minimum value of estimate_current and estimate_last24h will be used
  • maximum2e: the maximum value of estimate_current and estimate_last24h will be used
  • average2e: the calculated average of estimate_current and estimate_last24h will be used
  • minimum2h: the minimum value of estimate_last24h and actual_last24h will be used
  • maximum2h: the maximum value of estimate_last24h and actual_last24h will be used
  • average2h: the calculated average of estimate_last24h and actual_last24h will be used
  • mininum3: the minimum value of the above three values will be used
  • maximum3: the maximum value of the above three values will be used
  • average3: the calculated average of the above three values will be used

Example:

"Zpool": {
    "LTC": "<YOUR_LITECOIN_ADDRESS>",
    "Worker": "$WorkerName",
    "Penalty": 0,
    "DataWindow": "minimum3"
}

Change a pool's moving average (stat average)

The price pulled from the pool's API is being averaged down with a defined moving average trend line. The averaging time can be defined, using the parameter "StatAverage". It overrides the global default set by the config.txt parameter "PoolStatAverage".

Possible values are:

  • Live: the live price
  • Minute_5: five minutes moving average
  • Minute_10: ten minutes moving average
  • Hour: one hour moving average
  • Day: one day moving average
  • ThreeDay: three day moving average
  • Week: one week moving average

Example:

"Zpool": {
    "LTC": "<YOUR_LITECOIN_ADDRESS>",
    "Worker": "$WorkerName",
    "Penalty": 0,
    "DataWindow": "minimum3",
    "StatAverage": "Hour"
}

Define the algorithms and coins of a pool

Per default all algorithms of a pool will be used. To define your own set of algorithm, there are two additional fields:

  • Algorithm: a comma separated list of all pool's algorithm, you want RainbowMiner to use (leave empty for all)
  • ExcludeAlgorithm: a comma separated list of all pool's algorithm, you explicitly do not want RainbowMiner to use (leave empty for no exception)
  • CoinName: a comma separated list of coin names, you want RainbowMiner to use (leave empty for all). The coin's name must be spelled exactly like it is used at the corresponding pool. It applies to the pools, that transmit the coin names, only.
  • ExcludeCoin: a comma separated list of coin names, you explicitly do not want RainbowMiner to use (leave empty for all coins). The coin's name must be spelled exactly like it is used at the corresponding pool. It applies to the pools, that transmit the coin names, only.
  • CoinSymbol: a comma separated list of coin symbols, you want RainbowMiner to use (leave empty for all). Better alternative to "CoinName"
  • ExcludeCoinSymbol: a comma separated list of coin's, you want RainbowMiner to use (leave empty for all). Better alternative to "ExcludeCoin"

Example:

"MiningPoolHub": {
    "User": "$UserName",
    "Worker": "$WorkerName",
    "API_ID": "$API_ID",
    "API_Key": "$API_Key",
    "Algorithm": "lyra2z,skein,myriadgroestl,groestl,neoscrypt,equihash-btg",
    "ExcludeAlgorithm": "",
    "CoinName": "",
    "ExcludeCoin": "",
    "CoinSymbol": "",
    "ExcludeCoinSymbol": "BTG,XTC",
    "FocusWallet": ""
}

Force mining to a pool's wallet

To force mining to pool's wallets, you may add the wallet's currencies to field "FocusWallet". RainbowMiner will mine into the the focused pool/wallets, only.

Example:

"Ethermine": {
    "ETH": "0x012031012301230123012301230",
    "ZEC": "$ZEC",
    "User": "$UserName",
    "Worker": "$WorkerName",
    "API_ID": "$API_ID",
    "API_Key": "$API_Key",
    "Algorithm": "",
    "ExcludeAlgorithm": "",
    "CoinName": "",
    "ExcludeCoin": "",
    "CoinSymbol": "",
    "ExcludeCoinSymbol": "",
    "FocusWallet": "ETH,ZEC"
}

This example will focus mining operations to pool Ethermine, comparing this pool's profitability of ETH and ZEC, only. No other pool will be mined.

Allow mining algorithm when pool hashrate equals to 0

All pool modules contain a check for an algorithm hashrate to be greater than 0. If you want to mine a special currency, even if you are the only miner (e.g. solo mining on BsodSolo), set field "AllowZero" to "1":

Example:

"BsodSolo": {
    "SUQA": "<YOUR_SUQA_ADDRESS>",
    "Worker": "$WorkerName",
    "FocusWallet": "SUQA",
    "AllowZero": "1"
}

Config\miners.config.txt

Each miner can be configured by it's own section, in the miners.config.txt

Example:

{
    "CcminerAlexis78-NVIDIA":  [
                            {
                                "MainAlgorithm":  "c11",
                                "SecondaryAlgorithm":  "",
                                "Params":  "-i 21",
                                "MSIAprofile":  "",
                                "OCprofile": "",
                                "Difficulty": ""
                            },
                            {
                                "MainAlgorithm":  "keccak",
                                "SecondaryAlgorithm":  "",
                                "Params":  "-m 2 -i 19,29",
                                "MSIAprofile":  "",
                                "OCprofile": "",
                                "Difficulty": ""
                            }
                        ],
   "CcminerAlexis78-GTX1070":  [
                            {
                                "MainAlgorithm":  "c11",
                                "SecondaryAlgorithm":  "",
                                "Params":  "-i 21",
                                "MSIAprofile":  "",
                                "OCprofile": "Profile1",
                                "Difficulty": ""
                            },
                            {
                                "MainAlgorithm":  "keccak",
                                "SecondaryAlgorithm":  "",
                                "Params":  "-m 2 -i 19,29",
                                "MSIAprofile":  "",
                                "OCprofile": "",
                                "Difficulty": ""
                            }
                        ],
    "Sgminer-AMD":  [
                            {
                                "MainAlgorithm":  "lyra2rev2",
                                "SecondaryAlgorithm":  "",
                                "Params":  "--gpu-threads 2 --worksize 128 --intensity d",
                                "MSIAprofile":  "",
                                "OCprofile": "",
                                "Difficulty": ""
                            },
                            {
                                "MainAlgorithm":  "neoscrypt",
                                "SecondaryAlgorithm":  "",
                                "Params":  "--gpu-threads 1 --worksize 64 --intensity 15",
                                "MSIAprofile":  "",
                                "OCprofile": "",
                                "Difficulty": "1000"
                            }
                        ],
    "Trex":  [
                            {
                                "MainAlgorithm":  "\*",
                                "SecondaryAlgorithm":  "",
                                "Params":  "",
                                "MSIAprofile":  "",
                                "Penalty": "12.5",
                                "Difficulty": ""
                            }
                        ]                                                                
}

.. this adds extra command line parameters "-i 21" and "-m 2 -i 19,29" to

  • "CcminerAlexis78-NVIDIA": miner CcminerAlexis78 in LegacyMining mode, mine on all selected nvidia GPU, Algorithms c11 and keccak
  • "CcminerAlexis78-GTX1070": miner CcminerAlexis78 in non-LegacyMining mode on selected GPU devices with model name GTX1070, Algorithms c11 and keccak
  • "CcminerAlexis78-GTX1070": miner will use custom overclocking profile "Profile1"
  • "Sgminer-AMD": miner Sgminer in LegacyMining mode, mine on all selected amd GPU, Algorithms c11 and keccak
  • "MainAlgorithm": alogrithm, for which the extra configuration will be used
  • "SecondaryAlgorithm": secondary alogrithm, for which the extra configuration will be used (used for dual-mining Claymore, Excavator)
  • "Params": these are the extra parameters, that will be added to the miner call
  • "MSIAprofile": desired MSI Afterburner profile

.. this adds a Penalty of 12.5% to all algorithms used by Trex

.. this adds a static pool difficulty of 1000 to Sgminer's Neoscrypt

Config\devices.config.txt

Each device group can be bound to/excluded from specific algorithm and miners by editing this config file.

Example:

{
  "GTX1050Ti": [
    {
      "Algorithm": "Ethash,x16r",
      "ExcludeAlgorithm": "",
      "MinerName": "",
      "ExcludeMinerName": "ClaymoreEthash",
      "DisableDualMining": "1",
      "DefaultOCprofile": "Profile1",
      "PowerAdjust": "100",
      "Worker": "my1050"
    }
  ],
  "R290X": [
    {
      "Algorithm": "",
      "ExcludeAlgorithm": "",
      "MinerName": "",
      "ExcludeMinerName": "",
      "DisableDualMining": "1",
      "DefaultOCprofile": "Profile1",
      "PowerAdjust": "87.5",
      "Worker": ""
    }
  ]      
}

This configuration would:

  • bind all GTX1050Ti in the system to Ethash and X16R mining, only, excluding the ClaymoreEthash miner
  • setting the flag "DisableDualMining" to "1", all dual-algorithm miners will be removed from this device's list.
  • for custom overclocking Profile1 is used as default for this GPU type
  • set a power adjust factor of 87.5% to the Radeon R290X (if RainbowMiner reported 250W with factor 100%, it will now show 250W x 87.5 / 100 = 175W)
  • the pool worker name for the GTX1050Ti will be set to "my1050". If used in combos, the individual worker names will be combined with _ (underscore)

Config\algorithms.config.txt

Globally define parameters for algorithms:

Example:

{
  "X17": {
      "Penalty": "10",
      "MinHashrate": "50GH",
      "MinWorkers": "300",
      "MaxTimeToFind": "1.5h"
    }
}

This configuration would:

  • reduce all X17 pool prices by a "Penalty" of 10%
  • set a minimum X17 pool hashrate of 50 GH/s for a pool to be selected (units allowed: k=kilo, M=Mega, G=Giga, T=Tera, P=Peta)
  • set the mimimum pool workers mining X17 to 300 for a pool to be selected
  • set a maximum time to find for the next block of 1.5 hours (units allowed: s=seconds, m=minutes, h=hours)

Config\coins.config.txt

Globally define parameters for coins:

Example:

{
  "RVN": {
      "Penalty": "10",
      "MinHashrate": "50GH",
      "MinWorkers": "300",
      "MaxTimeToFind": "1.5h",
      "Wallet": "<YOUR_RAVENCOIN_ADDRESS>",
      "EnableAutoPool": "1"
    }
}

This configuration would:

  • reduce all RVN pool coin prices by a "Penalty" of 10%
  • set a minimum RVN pool hashrate of 50 GH/s for a pool to be selected (units allowed: k=kilo, M=Mega, G=Giga, T=Tera, P=Peta)
  • set the mimimum pool workers mining RVN to 300 for a pool to be selected
  • set a maximum time to find for the next block of 1.5 hours (units allowed: s=seconds, m=minutes, h=hours)
  • define a global RVN wallet with value <YOUR_RAVENCOIN_ADDRESS>. Every occurence of "$RVN" in pools.config.txt will be automatically substituted with this wallet.
  • each pool, that has it's parameter "EnableAutoCoin" set to "1" will use this RVN wallet

Config\ocprofiles.config.txt

This file contains all custom overclocking profiles. These profiles can be assigned by name to miners in file Config\miners.config.txt, field "OCprofile".

Example (this is the setup for one of my GTX1070 rigs, basicly substituting the MSI Afterburner profiles I recommended above)

{
  "Profile1": {
    "PowerLimit": 0,
    "ThermalLimit": 0,
    "MemoryClockBoost": "0",
    "CoreClockBoost": "0",
    "LockVoltagePoint": "*"
  },
  "Profile2": {
    "PowerLimit": 0,
    "ThermalLimit": 0,
    "MemoryClockBoost": "400",
    "CoreClockBoost": "100",
    "LockVoltagePoint": "*"
  },
  "Profile3": {
    "PowerLimit": 0,
    "ThermalLimit": 0,
    "MemoryClockBoost": "200",
    "CoreClockBoost": "100",
    "LockVoltagePoint": "*"
  },
  "Profile4": {
    "PowerLimit": 0,
    "ThermalLimit": 0,
    "MemoryClockBoost": "-500",
    "CoreClockBoost": "100",
    "LockVoltagePoint": "*"
  },
  "Profile5": {
    "PowerLimit": 0,
    "ThermalLimit": 0,
    "MemoryClockBoost": "350",
    "CoreClockBoost": "100",
    "LockVoltagePoint": "*"
  },
  "Profile6": {
    "PowerLimit": 0,
    "ThermalLimit": 0,
    "MemoryClockBoost": "0",
    "CoreClockBoost": "100",
    "LockVoltagePoint": "*"
  },
  "Profile7": {
    "PowerLimit": 0,
    "ThermalLimit": 0,
    "MemoryClockBoost": "*",
    "CoreClockBoost": "*",
    "LockVoltagePoint": "1000000"
  }
}
  • PowerLimit: in percent, set to 0, if you do not want this to be changed
  • ThermalLimit: in °C, set to 0, if you do not want this to be changed
  • MemoryClockBoost: in MHz, set to "*", if you do not want this to be changed
  • CoreClockBoost: in MHz, set to "*", if you do not want this to be changed
  • LockVoltagePoint: in µV set to "*", if you do not want this to be changed or "0", if voltagePoint should be unlocked

Config\autoexec.config.txt

If you want RainbowMiner to start other commands before the mining begins, you may add them to file Config\autoexec.config.txt by following the following rules:

  • one line, one command
  • command and path must be enclosed with doublequotes (")
  • arguments (if any) must follow after the closing doublequote if the command
  • a hashtag (#) marks the beginning of a comment, everything behind this within the line, will be ignored

Example:

#
# RainbowMiner autoexec
# =====================
# 

"C:\Qbundle\BlagoMiner\Blagominer_avx.exe" --argument1 whatsoever1

.. would start Blagominer_avx.exe with commands ""--argument1 whatsoever1", setting the working directory to "C:\Qbundle\BlagoMiner"

FAQ

How do I add RainbowMiner's Start.bat to the windows task sheduler for autostart?

Press windows key and type shedule, click on Task Sheduler

Create a basic task

Tab "General":

  • check Run only when user is logged in
  • check Run with highest privileges
  • Configure for: Windows Vista, Windows Server 2008

Tab "Trigger":

  • check When I log in

Tab "Actions":

  • Action=Start a program
  • Program/Script=cmd
  • Add Arguments=/c "C:\Users\RainbowMiner\Desktop\current-version\Start.bat"
  • Start In=C:\Users\RainbowMiner\Desktop\current-version\

How can I rent my rig to someone at MiningRigRentals.com?

1. Signup and create a rig for rent

  • signup at https://www.miningrigrentals.com
  • create API keys with permission "Manage Rigs" checked
  • create a rig for at least one algorithm that you want to rent to an interested renter at the "MyRigs" section of the website
  • optional: add pools on the "Pool Configuration" tab of the rig
  • set your rig's rentable status to "available"
  • edit your rig's description and add your RainbowMiner workername, enclosed with square brackets, somewhere into the text, e.g. [rbm]. This is important, otherwise Rainbowminer will not find your rig, later.

2. Setup Rainbowminer

  • add "MiningRigRentals" to the PoolName list and make sure it is not in the ExcludePoolName list (config.txt or [C]onfiguration->[S]elections)

  • edit "Config\pools.config.txt", find the MiningRigRentals section and add (API_Secret, User) or edit the following data:

    "API_Key": "", "API_Secret": "", "User": "", "Worker": "<put your RainbowMiner workername here or leave $WorkerName>", "EnableMining": "0",

All rigs will be automatically set to status "online", at MiningRigRentals and rest idle within RainbowMiner. If someone starts a rental, RainbowMiner will detect this and run the respective miner exclusively, until the rental ends. All other rigs on MiningRigRentals will be deactivated, for that time.

If you want to include MiningRigRentals into RainbowMiner's profitability checks and switching operation, so that it behaves just like a normal pool, set "EnableMining" to "1". Only do this, if MiningRigRentals is your only pool, because the mining prices (these are the prices setup at MiningRigRentals), will not reflect the real market prices.

How can I make sure, my hand tuned config files in the Bin folders, will not be deleted during miner updates?

  • RainbowMiner has a build-in list of protected files, that will be kept during updates:

    config.txt nvidia.txt amd.txt config_*.txt

  • If you want to add your own userdefined files, that should be kept from update to update, edit the file Config\minerconfigfiles.txt and add your files (wildcards are allowed), one at each row.

  • if the automatic fails: when updating, RainbowMiner creates a backup folder that contains the full contents of the original. It is named like the original miner's folder, but date/time added with a dot (e.g. CryptoNight-SrbMiner.20181202_174533). A maximum of three backups is kept.

CREDITS

The miner script has initially been forked from MultiPoolMiner, for my private use, only. Since I changed and optimized the script a lot to suit my needs, I decided to make the source code public, so that others can profit from my optimizations.

If you are happy with the script, bitcoin donations are greatly appreciated:

The RainbowMiner author

  • BTC: 3P7pVVNpExuuHL9wjWKAo7jzQsb9ZziUFC
  • BCH: 1MGRzyaLjQ67ZwwL9QTbXzwLxa8x1qSTBD
  • ETH: 0x3084A8657ccF9d21575e5dD8357A2DEAf1904ef6

The MultiPoolMiner author

  • BTC: 1Q24z7gHPDbedkaWDTFqhMF8g7iHMehsCb