Skip to content

ChriscomIT/excavator

NiceHash Excavator

Excavator is GPU miner by NiceHash for mining various altcoins on NiceHash.com and other pools. Excavator is being actively developed by djeZo and zawawa. Miner is using custom built code base with modern approach and supporting modern video cards - NVIDIA and AMD. For AMD support, please see AMD readme for important details.

Download from here: https://github.com/nicehash/excavator/releases

WARNING!!! Excavator is a proprietary software by NiceHash and has a special EULA. YOU ARE NOT ALLOWED TO REDISTRIBUTE IT!

How to Use Excavator?

ADVANCED There are two methods to use Excavator. Both rely on API commands you can find in file excavator-man-API.txt. Do note that API manuals are still being created and that is just an incomplete draft so far.

  1. Using API port or HTTP API; for that, you need an application that will pass commands to the Excavator. We do not provide any such application (except web example), nor there is any public source code available (yet).

    The API works over standard TCP port and is JSON-message based with '\n' terminated messages. Do note that once you build up such application, you virtually have no limits anymore. You can truly optimize your mining to the max; you can launch various algorithms (at the same time), you can randomly assign workers (turn devices on off), do dual/triple mining, algorithm switching, adjusting TDPs, core or memory clock and fan speeds. Additionally to that, you can also read various GPU parameters and algorithm speeds reached by GPUs.

    Default API bind port is 3456, but you can change it with '-p' command line parameter.

    HTTP API is disabled by default. You can enable it by configuring command line parameters.

  2. Using start-up commanding file. See example default_command_file.json.

    File contains a JSON array of all actions that would happen during runtime of Excavator. Each array item has two mandatory fields and one optional. Mandatory is 'time' which tells you after how many seconds since start of Excavator commands should execute and 'commands' which is a JSON array of commands you can find in excavator-man-API.txt.

    Optionally you can specify 'loop' which repeat commands every 'loop' seconds. When creating algorithms and workers, note that IDs of returned objects always run from 0 and on, so first algorithm always has ID 0, second 1 etc.

    You will want to figure out ID of each card; use telnet to connect to Excavator then send command

    {"id":1,"method":"device.list","params":[]}

    to retreive all available devices and their IDs.

    After you have your commanding file ready, use '-c' command line switch to provide file name when starting Excavator.

    We suggest using excavator+web+restart_script.bat that automatically launches web browser displaying status and has a restart script to put Excavator back on if it crashes.

Excavator also supports configuring console logging level and file logging level. Level '0' means full detail logging, level '6' means no logging. By default console logging is set to '2', file logging set to '6'. You can change file logging with '-f' and console logging with '-d' command line parameters.

To get details about specific algorithms that are available in Excavator, check AMD information or NVIDIA information.

Excavator contains HTTP server. Currently, it can serve API commands and is by default disabled. You can enable it by configuring HTTP bind port ('-wp'). API is available at URL:

http://bind-ip:bind-port/api?command={JSON-command-here}

Command Line Parameters

Parameter Range Description Default
-h none Displays help; details about all supported command line parameters
-p 0-65535 API bind port; set to 0 to disable API 3456
-i local IP API bind IP 127.0.0.1
-wp 0-65535 HTTP API bind port 0
-wi local IP HTTP API bind IP 127.0.0.1
-d 0-6 Console log level 2
-f 0-6 File log level 6
-c file name Use commanding file

Additional Notices

WARNING! Excavator supports overclocking. Use overclocking at your own risk. OVERCLOCKING MAY PERMANENTLY DAMAGE YOUR COMPUTER HARDWARE! If you overclock, we suggest you to set '-or' to reset clocks after miner quits. This may prevent driver crashes or freezes due to high clocks. With parameter '-od' you can adjust overclock delay and apply new clocks when mining is already happening. This can also prevent crashes or freezes due to high clocks.

Changelog

v1.2.4a

  • improved OpenCL hardware detection and monitoring
  • improved web page

v1.2.3a

  • added algorithm OpenCL sia
  • added algorithm OpenCL decred

v1.2.2a

  • added algorithm CUDA sia
  • general fixes and improvements

v1.2.1a

  • support for API and commanding file at the same time
  • added commanding file event: on_quit
  • fixed connection bug
  • added HTTP server for API commands
  • fixed a bug in phymem.sys
  • optimized equihash OpenCL kernel
  • added API method: info
  • general fixes and improvements

v1.2.0a

  • changed commanding interface to JSON based messages over startup file or API
  • CUDA: added decred
  • added OpenCL support
  • OpenCL: added pascal
  • OpenCL: added equihash

v1.1.4a

  • slight equihash efficiency improvement for GTX 1060 cards
  • equihash GTX 750 Ti fix
  • added missing MSVC files
  • fixed issue of inability to display proper power usage
  • general improvements

v1.1.3a

  • slight equihash speed improvement with same TDP
  • added support for GTX 1080 Ti
  • added option '-od' to set custom overclock delay
  • bug fixes and improvements

v1.1.2a

  • added reading of temperatures
  • added reading of gpu and memory controller load
  • added reading of power usage in W
  • slight pascal speed improvement
  • bug fixes and improvements

v1.1.1a

  • improved sha256t speed
  • bug fixes and improvements

v1.1.0a

  • added equihash algorithm
  • added sha256t algorithm (experiment)
  • added support for overclocking and setting TDP
  • bug fixes and improvements

v1.0.0b

  • fixed cudart64_65.dll dep
  • fixed job parsing mem leak
  • fixed diff parsing in rare cases
  • fixed extranonce2 counter
  • few % faster pascal algorithm
  • added '-cb' and '-ct' params to specify number of blocks and tpb

v1.0.0a

  • initial public alpha release
  • added support for PascalCoin