Update release
Miners
- update miner Lolminer to v1.20 (amd,cpu)
- update miner CcminerMTP to v1.2.11 (nvidia)
- update miner CcminerMtp
- turns out, the CUDA11.1 compile is about 10% slower than the CUDA10.2 on Pascal and Turing GPUs.
- move CUDA10.2 and lower (v1.2.10) to CcminerMtp10 (for Pascal and Turing arch)
- only CUDA11.1 (v1.2.11) in CcminerMtp (for RTX30xx Ampere arch)
- remove miner CpuminerNosuch
- too many problems with rejected share
- add miner CpuminerEasy v3.7.0 (cpu)
Pools
- update pool ZergPool/ZergPoolParty/ZergPoolSolo
- enable "AECurrency" to select default wallet (issue #1346)
- update pool Zpool
- enable "AECurrency" to select default wallet (issue #1346)
Core
- update PoolsConfigDefault.ps1
- enable "AECurrency" for Zpool and ZergPool/ZergPoolPary/ZergPoolSolo (issue #1346)
- add userpools, see explanation below (issue #1348)
- add unprofitable-cpu.json, a list of unprofitable algorithms on CPUs (mostly GPU algorithms).
- add parameter "DisableUnprofitableCpuAlgoList" to config.txt: set to "1" if you do not want to use the list of unprofitable CPU algorithms, provided live by RainbowMiner (if you want to mine all possible GPU algorithms on your CPU).
- add parameters to config.txt to set the default fault tolerance for CPU and GPU mining (issue #1355)
- MinerFaultToleranceGPU = set the GPU miner fault tolerance in % (10..100) [default=10]
- MinerFaultToleranceCPU = set the CPU miner fault tolerance in % (10..100) [default=25]
- move default fault tolerance before miners config
- add parameter "EnableServerPools" to config.txt
- EnableServerPools = set to "1" and the client will use the server's pool and balance statistics and mine to exaclty those pools (except for MiningRigRentals, which will always be handled locally)
- fix: don't benchmark during donation run (issue #1351)
- linux: add CPU temperature
- linux: add some checks
- linux: add warnings to stop-subprocess
- linux: get rid of some potential deadlocks with waitforexit
- linux: fix error messages when screen command is unavail (issue #1352)
- linux: don't root kill, if not started as root
- rework Stop-SubProcess: sep. win/linux kill sig
- different shutdown wait times windows/linux
- update InitClient
- add "EnableServerPools"
- speedup miner calculations a bit
- update README.md
- update ethdagsizes.json
- update poolsinfo.json
- update miner-ports.txt
New feature: Userpools
Integrate your own pool or other pools of choice via .\Config\userpools.config.txt
.
Notes:
- Each Currency/Coin/Algorithm/Region combination needs an own entry
- Every unique pool name will automatically get an config entry in pools.config.txt
- Price and profit calculations will be done via WhatToMine
- Hashrate/Workers/Blocktimes are currently not supported
- Don't forget to add your custom pool's name to
"PoolName"
in config.txt!
Example for flexpool.io:
add in pools.config.txt
{
"Enable": "1",
"Name": "Flexpool",
"PoolFee": "0",
"Algorithm": "",
"CoinName": "",
"CoinSymbol": "ETH",
"Currency": "ETH",
"Protocol": "stratum+tcp",
"Host": "eu.flexpool.io",
"Port": "4444",
"User": "$Wallet.$WorkerName",
"Pass": "x",
"Region": "EU",
"SSL": "0",
"EthMode": ""
},
in config.txt, add the Flexpool to the "PoolName" list:
"PoolName": "Nicehash,ZergPoolCoins,Flexpool",
Mandatory parameters:
- Enable = set to "1", to enable your new entry [default=0]
- Name = name of the pool, every unique name will automatically get an own entry in pools.config.txt
- CoinSymbol = coin, that will be mined
- Currency = coin, that will be payed, determines the wallet address. Each currency will have an entry in pools.config.txt
- Host = stratum server address, without
stratum+tcp://
, just my.server.name - Port = stratum server port
Remark: if CoinSymbol equals Currency, only one of the two needs to be set.
Optional parameters:
- User = exact syntax for the user parameter for the miners, variables possible, see remarks below [default=$Wallet.$WorkerName]
- Pass = specific pool password, variables possible, see remarks below [default=x]
- Protocol = setup your own protocol, if it differs from the default [default=stratum+tcp / stratum+ssl]
- PoolFee = pool fee in percent (e.g. 1 for one percent) [default=0]
- SSL = set to "1" if the stratum wants SSL [default=0]
- Algorithm = if your coin is not in our database, explicitly setup the algorithm here.
- CoinName = if your coin is not in our database, explicitly setup the coin's name here.
- Region = setup the stratum server's home region [default=US]
- EthMode = setup the stratum/proxy mining mode for Ethash, Kawpow, Progpow pools [default=ethproxy for Ethash, stratum for KawPow]
- "ethproxy"
- "ethstratumnh"
- "qtminer"
- "minerproxy"
- "stratum"
Remark: the following variables will be automatically replaced in parameters User and Pass:
$Wallet
will be replaced with your currency's wallet (as defined in pools.config.txt)$WorkerName
will be replaced with your rig's workername (or the value in pools.config.txt)$CoinSymbol
will be replaced with the CoinSymbol$Currency
will be replaced with the Currency
Hints for Networking
Choose one PC to be the Server (it may be a dusty old notebook). No need to let it mine, just let RainbowMiner start in paused mode. Select all other Rigs to act as Clients. All pool API communication will then be managed by the server: no more being blocked by the pools due to excessive use of their API
There is a Network setup build-in the configuration (press [C], then enter [N]) to help with the setup.
If you want it quicker, just run one of the following init scripts for very convenient pre-setup:
InitServer.bat / initserver.sh
: make this rig a server
InitClient.bat / initclient.sh
: make this rig a client
InitStandalone.bat / initstandalone.sh
: make this rig a standalone machine
Of course you may also edit the Config\config.txt
directly.
If you change the RunMode of a rig, RainbowMiner needs to be restarted.
Setup as Server
- one PC takes the role as Server
- it will act as gateway to the pool APIs for all Clients
- enable auth: choose an username and a password.
- the server will be running on the API port
- optionally provide individual config files for each client
These are the server-fields to fill in the config.txt (or use the initscripts or the build-in config)
"RunMode": "server",
"APIport": 4000,
"APIauth": "1",
"APIuser": "serverusername",
"APIpassword": "serverpassword",
Setup as Client
- all other Rigs shall be clients
- if you have enable auth at the server: set the username and password.
- the RainbowMiner running on the server will tell you the machinename, ip address and port
- use either the machinename or the ip address of the server as servername
- optionally select to download config files from the server
These are the client-fields to fill in the config.txt (or use the initscripts or the build-in config)
"RunMode": "client",
"ServerName": "machinenameofserver",
"ServerPort": 4000,
"ServerUser": "serverusername",
"ServerPassword": "serverpassword",
"EnableServerConfig": "1",
"EnableServerPools": "1",
"ServerConfigName": "config,coins,pools",
If "EnableServerConfig" is set to "1" (like in the above example), the Client will download the config files defined with the list "ServerConfigName" from the Server. In the example: config.txt, coins.config.txt, pools.config.txt would be downloaded automatically.
If "EnableServerPools" is set to "1", the client will download the server's pool and balance statistics and mine to exaclty those pools (except for MiningRigRentals, which will always be handled locally)
Note
As usual: press [U] to update, or exit RainbowMiner and start "Updater.bat" (or let RainbowMiner do the work, if you have set "EnableAutoUpdate" to 1)
If the automatic update fails for any reason, please do a manual update:
- exit RainbowMiner window
- if exit fails press to close the RainbowMiner window
- now start "Updater.bat" (in RainbowMiner directory)
- now restart RainbowMiner
If the manual update failed, too, please go the hard way:
- exit RainbowMiner
- if exit fails close the RainbowMiner window
- download the actual release's zip file (name is like RainbowMinerVx.x.x.x.zip)
- extract the zip file into your RainbowMiner directory, overwriting all files
- now restart RainbowMiner