WildRig 0.9.18 betaDownload for Windows(dependencies:
Visual C++ Redistributable 2015 x64)
Download for Linux(dependencies: libcurl4, libuv1, libmicrohttpd10)
Custom package for HiveOS(dependencies: libcurl4, libuv1, libmicrohttpd10)
all version can be found
heredifference from
minerd and
ccminer:
- better hashrate on poolside for NVIDIA cards(because of more accepted shares). AMD can get some improvement too, but less significant, still gathering some statistics
- no 100% load of CPU core per NVIDIA card like in
minerd- fast scratchpad update(less hashrate drop when new addendum blocks received)
- no limit for amount of GPU's as in
minerd- watchdog(see description for
--no-watchdog parameter)
- new interface
- API to check miner stats via web
hashrate clarification: as described above, for NVIDIA's there can be good improvement on poolside. But only if you use a rig. One card will be fine with
minerd and
ccminer(in some cases can be fine even with 2-3). In miner itself most of the time hashrate will be +/- with that you can get with other miners.
known issues:
- all shares are
Low difficulty on some old hardware with OpenCL 1.x support(like
Radeon HD7xxx, but
GeForce 750Ti doing great). Try to use new option
--opencl-force1xTesting and reporting issues are welcome!
coins:
-
Boolberry-
Purkdev-fee:
currently 2% only, fully compensates on NVIDIA's because of improvements. For AMD cards still gathering some statistics to decide lowering dev-fee for those cards.
TODO:
- miner uptime value in API(in addition to connection uptime)(
done, will be in next build)
- improvements for scratchpad management(
work in progress)
- HiveOS integration(
work in progress, have some troubles with stats...)
- ADL/NVML for monitoring videocards health
- open source some day once all things will be done good
Example of config.json for two videocards:
{
"background": false,
"colors": true,
"donate-level": 0, // default donation level is 2%, you can increase it if you want :D
"log-file": null, // set it to "log.txt" if needed
"print-time": 60, // print time for hashrate statistics
"print-full": false, // print hashrate for each videocard
"print-level": 1, // level of info to be printed. 1 - default, 2 - some additional info like scratchpad updates, 3 - packets "send to"/"recieved from" pool
"retries": 1000,
"retry-pause": 10, // time before reconnect
"max-rejects": 16, // number of one by one rejects after which miner will reconnect to the pool
"job-timeout": 60, // timeout for absence of new job from pool in sec. before reconnect(can be useful on "beast" rigs)
"no-watchdog": false, // disable checking how long videocards are running OpenCL kernel(more than 5 sec. terminates the miner)
"opencl-platform": 1, // if you have no integrated GPU - change it to 0, or try 2 in some cases with AMD/NVIDIA in one PC
"scratchpad-url": "http://eu-bbr.luckypool.io/scratchpad.bin", // where miner can download scratchpad
"scratchpad-file": "scratchpad.bin", // where to save it(including file name), use double \\ if you want to set full path(Win only)
"strategy": 0, // 0 - devide work for equal parts for each card
// 1 - all cards working as one, can be better for static diff
"threads":
[
// if you have more videocards, just copy section below more times and increase index for every new videocard
{
"index": 0,
"intensity": 256, // good point to start is 256, decent cards can use 1024, try different values. But don't set it high if hashrate is not increasing
"worksize": 0, // don't touch it if you don't know what is it :)
"affine_to_cpu": false,
},
{
"index": 1,
"intensity": 256,
"worksize": 0,
"affine_to_cpu": false,
},
],
"pools":
[
// Currently no support for failover strategy using more than one pool
{
"url": "bbr.luckypool.io:5577", // URL of mining server
"user": "WALLET", // wallet address
"pass": "", // password if it needed
},
],
// same as in XMRig
"api":
{
"port": 0, // port for the miner API https://github.com/xmrig/xmrig/wiki/API
"access-token": null, // access token for API
"worker-id": null // custom worker-id for API
}
}
Example of command-line start for two videocards(with loop if miner crash, or executing custom command if it exited because of videocard hangs for more than 5 sec.):
@echo off
:loop
wildrig.exe --opencl-platform=1 --opencl-devices=0,1 --opencl-launch=256x0 --url=bbr.luckypool.io:5577 --user=WALLET --pass=IFNEEDED --scratchpad-file=scratchpad.bin --scratchpad-url=http://eu-bbr.luckypool.io/scratchpad.bin
if ERRORLEVEL 1000 goto custom
timeout /t 5
goto loop
:custom
echo Custom command here
timeout /t 5
goto loop
If it fails, try different
--opencl-platform parameter with values 0 or 2 instead of 1 used above. You can check available platforms - just run wildrig with parameter
--print-platforms. Simplified example for
Linux:
#!/bin/bash
while true
do
./wildrig --opencl-platform=1 --opencl-devices=0,1 --opencl-launch=256x0 --url=bbr.luckypool.io:5577 --user=WALLET --pass=IFNEEDED --scratchpad-file=scratchpad.bin --scratchpad-url=http://eu-bbr.luckypool.io/scratchpad.bin
sleep 5
done
what is
luck(
experimental value):
every videocard do some amount of hashes per iteration, and there should be done around
diff(set by pool) hashes before miner will find a share. This will be 100% luck. If videocards do less hashes and find a share - luck will be above 100%, more - it will be lower than 100%. But because of random nature, luck is always differ. A lot of things have influence on luck, but if you get low numbers(after at least ~30 minutes statistic from start or dev-fee mining finished) take a look on:
- how good variable diff on pool. Giving you high difficulty jobs, which are not suitable for your hashpower can lead to less luck
- high intensity, more than needed for best hashrate, can lead to less luck in cases when miner got a new job, but videocard is still hashing and don't know about it. That last hashes will be wasted, also you can get stale share
optimal
intensity:
try to set intesity as low as possible, but not lower than point where hashrate goes down a lot
optimal
strategy:
if you use static diff, probably strategy set to 1 will be better in this case. At least it's true for my rigs with static diff set to hashrate_of_rig * 10(e.g. 4820kH/s rig uses diff 48000000).
Changelog:
0.9.18
- fixed --no-watchdog parameter, now it should work
- set timeout for watchdog to 30 seconds now
- now if downloading speed of scratchpad is 512 bytes for more than 30 seconds, miner will restart downloading it
0.9.17
- moved scratchpad update into a better place, this should decrease amount of "Low difficulty" shares before "new job"
- added general uptime value to API
0.9.16
- code much more safe now
- fixed problem with watchdog not working(there was a bug with reading parameter no-watchdog)
0.9.15
- improved watchdog, now it works separately and won't decrease hashrate for AMD's when use low intensity values
- improved scratchpad fail handling, now miner will try to reset it to state saved on disk and login again, only then redownload it if fail again
- added experimental parameter --opencl-force1x to support old hardware like Readon HD 7xxx
0.9.14
- fixed small memory leak
- implemented watchdog, now miner will exit with code 1000 if gpu hangs in OpenCL kernel for more than 5 sec.(can be disabled with parameter --no-watchdog)
0.9.13
- reworked strategy a bit, now nvidias should support 0 and 1 too. Changed default strategy to that used in other miners, should be better with vardiff
- fixed processing error "invalid miner height, re-download scratchpad", now miner definitely will redownload it
0.9.12
- fixed "Duplicate share" error after donation mining finished, same was possible to reproduce with pause/resume commands
0.9.11
- new parameter --print-level
- more accurate luck calculation
- dynamic size for scratchpad buffer(no need in recompilation in future, less RAM used for PURK coin to mine :))
0.9.10
- now videocards sorted by BusID
- added luck calculation(need testing)
- fixed crash when logging and --print-full is used
- few more checks for scratchpad fails(also in some cases miner will reconnect if it failed and only then redownload it if this not solve the problem, need testing)
0.9.9:
- fixed JSON decode failed
- more checks for scratchpad failure
0.9.8:
- added validation scratchpad at start and redownloading it if needed
- now should work on old cards too
- added --job-timeout parameter, now miner will disconnect if there is no new job for some time and videocards found all shares(could help for "beast" rigs on Vega)
- a bit more safe code
0.9.7:
- fixed an issue when miner can't redownload scratchpad because of some accident on pool side and going into infinite loop
0.9.6:
- improved logic, now videocard will continue hash even if it waits for new job, just to avoid situation with lowering clocks. Will make something like powersave option later
- added parameter --max-rejects