{"id":13584474,"url":"https://github.com/nanopool/nanominer","last_synced_at":"2025-04-14T05:16:46.969Z","repository":{"id":37271312,"uuid":"162998433","full_name":"nanopool/nanominer","owner":"nanopool","description":"Nanominer is a versatile tool for mining cryptocurrencies on GPUs and CPUs.","archived":false,"fork":false,"pushed_at":"2025-03-13T00:04:31.000Z","size":264,"stargazers_count":657,"open_issues_count":230,"forks_count":351,"subscribers_count":67,"default_branch":"master","last_synced_at":"2025-03-30T23:07:35.901Z","etag":null,"topics":["conflux","cortexcoin","cuckaroo30","ethereum","ethereumclassic","mining","mining-ethereum","monero","nanominer","optional-algorithm","quarkchain","ravencoin","zilliqa"],"latest_commit_sha":null,"homepage":"https://nanominer.org","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nanopool.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-24T14:30:16.000Z","updated_at":"2025-03-27T08:02:57.000Z","dependencies_parsed_at":"2022-08-08T20:00:42.478Z","dependency_job_id":"b853d996-648c-4e55-8324-473d73809b3c","html_url":"https://github.com/nanopool/nanominer","commit_stats":{"total_commits":59,"total_committers":2,"mean_commits":29.5,"dds":0.1694915254237288,"last_synced_commit":"ae18ad9e7b92b6a2bceb8635af258a4df756e7c0"},"previous_names":[],"tags_count":123,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanopool%2Fnanominer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanopool%2Fnanominer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanopool%2Fnanominer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanopool%2Fnanominer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nanopool","download_url":"https://codeload.github.com/nanopool/nanominer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247569118,"owners_count":20959760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["conflux","cortexcoin","cuckaroo30","ethereum","ethereumclassic","mining","mining-ethereum","monero","nanominer","optional-algorithm","quarkchain","ravencoin","zilliqa"],"created_at":"2024-08-01T15:04:16.933Z","updated_at":"2025-04-07T00:11:45.209Z","avatar_url":"https://github.com/nanopool.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# nanominer by nanopool\n# version: 3.10\n# Table of Contents\n1. [Driver requirements](#driver-requirements)\n1. [Reporting bugs and technical support](#reporting-bugs-and-technical-support)\n1. [Setup](#setup)\n1. [Log Files](#log-files)\n1. [Remote Monitoring](#remote-monitoring)\n1. [Automatic Restart Function](#automatic-restart-function)\n1. [Parameters](#parameters)\n1. [Configuration File](#configuration-file)\n1. [Launching from command line](#launching-from-command-line)\n1. [Examples of Configuration Files](#examples-of-configuration-files)\n\n**nanominer** is a program product developed by nanopool to create structural cryptocurrency units based on the following algorithms:\n\n|     Algo      |     Coin      | Dev Fee (once per 2 hours)  |     AMD     |    Nvidia   |  Intel Arc  |   CPU   |\n|:-------------:|:-------------:|:---------------------------:|:-----------:|:-----------:|:-----------:|:-------:|\n|  Ethash       |  ETH \u0026 other  |             1%              |   \u0026check;   |   \u0026check;   |   \u0026check;   |         |\n|  Etchash      |      ETC      |             1%              |   \u0026check;   |   \u0026check;   |   \u0026check;   |         |\n|  EthashB3     |      RTH      |             1%              |   \u0026check;   |   \u0026check;   |             |         |\n|  FishHash     |      IRON     |             1%              |   \u0026check;   |   \u0026check;   |             |         |\n|  Karlsenhashv2|      KLS      |             1%              |   \u0026check;   |   \u0026check;   |             |         |\n|  Ubqhash      |      UBQ      |             1%              |   \u0026check;   |   \u0026check;   |   \u0026check;   |         |\n|  FiroPow      |      FIRO     |             1%              |   \u0026check;   |   \u0026check;   |             |         |\n|  KawPow       |      RVN      |             2%              |   \u0026check;   |   \u0026check;   |             |         |\n|  Octopus      |      CFX      |             2%              |             |   \u0026check;   |             |         |\n|  Autolykos    |      ERG      |            2.5%             |   \u0026check;   |   \u0026check;   |             |         |\n|  RandomX      | XMR, ZEPH, ...|             2%              |             |             |             | \u0026check; |\n|  RandomNevo   |      NEVO     |             2%              |             |             |             | \u0026check; |\n|  Verushash    |      VRSC     |             2%              |             |             |             | \u0026check; |\n|  Verthash     |      VTC      |             1%              |   \u0026check;   |             |             |         |\n\n\n**nanominer** also supports Zilliqa mining in the current configurations (see config examples):\n\n| Configuration |  Merged (same pool) | Split (different pools)†|\n|:-------------:|:-------------------:|:-----------------------:|\n|    ETC+ZIL    |        \u0026check;      |          \u0026check;        |\n|    KLS+ZIL    |                     |          \u0026check;        |\n|    CFX+ZIL    |                     |          \u0026check;        |\n|    ERG+ZIL    |                     |          \u0026check;        |\n|    RVN+ZIL    |                     |          \u0026check;        |\n|    FIRO+ZIL   |                     |          \u0026check;        |\nWhen mining Zilliqa on a different pool, **nanominer** will use a placeholder `0xffffffffffffffffffffffffffffffffffffffff` ETH/ETC address to authorize on Zilliqa pool.\n† Intel Arc does not support split Zilliqa mining at this moment (under construction).\n\n**nanominer** also supports trial mining:\n {`ETC`,`CFX`,`RVN`,`KLS`,`FIRO`,`ERG`,`...`}+`ZIL`+{CPU coin}\n\n\n## Driver requirements\n\nIn order to work with Nvidia GPUs **nanominer** needs Nvidia driver **410.48 and newer on Linux** or **411.31 and newer on Windows**.\n\nIn order to begin mining Ethereum Classic with nanominer, ***it's enough to simply input your wallet*** in the configuration file.\n\nTesting on **nanominer** demonstrated high performance working with Ethereum Classic, EthereumPOW, Ravencoin, Conflux, QuarkChain, Ubiq, Monero, Ergo, Firo and other currencies. Ethash, Etchash and KawPow implementations have some know-how optimizations for DAG size in memory which is critical for 3 GB and 4 GB GPUs. Independently of this, **nanominer** stands out with its high stability and simple setup.\n\n## Reporting bugs and technical support\nFor reporting bugs, technical support, feature requests and community discussions feel free to use the following communication channels:\n* Support email: support@nanominer.org\n* GitHub issues tracker: https://github.com/nanopool/nanominer/issues\n* Community chat in telegram (developers read it too): https://t.me/nanominer_en\n* Our Discord channel https://discord.gg/JtKHCbm8Yg\n\n## Setup\nAt launch **nanominer** reads the _config.ini_ setup file from the program's current directory. In order to\nassign a specific name to the config file, it should be written as the first argument in the command\nline. For example:\n```\nnanominer.exe config_etc.ini\n```\nWhen launching with the _-d_ command line option (e.g. `nanominer.exe -d`) the miner displays a list of the devices it detects, including their PCI addresses and their amount of memory. In order to use this function on Windows the program must be launched from the command prompt (cmd).\n\n**nanominer** does not require any pools to be specified in the config file. If a pool (or list of pools) is not specified, **nanominer** will automatically use the pools on [nanopool.org](https://nanopool.org/) corresponding to the chosen cryptocurrency (except for coins not listed on Nanopool). QuarkChain public full nodes (fullnode.quarkchain.io and fullnode2.quarkchain.io) which are maintained by QuarkChain developers are used by default for QuarkChain.\n\nWhen **nanominer** starts up it displays the main work information in the console log, including the program’s current version, the name of the rig, the number and type of graphics cards installed and the program’s current settings.\n## Log Files\nThe event log function on **nanominer** is automatically activated each time the program starts up. The log files that are created contain all the information displayed on the console while the miner is running. By default, the log files are saved in the logs folder of the program's current directory. Deactivating event logging, as well as assigning a random catalogue for recording log files, can be done by using the corresponding configuration parameters (see the examples in the _Parameters_ section of this file).\n\n## Remote Monitoring\n**nanominer** has web interface for getting rig statistics, discovering other instances of **nanominer** in the local network and managing them. You can edit miners' config via web as well as restart the miners. In order to perform these actions on a running instance of **nanominer**, its config must contain a password for web interface (see the _webPassword_ option).\nBy default **nanominer** starts a HTTP server on port 9090, which can be found on http://127.0.0.1:9090. In the program's config file, the port can be configured and the API function can be deactived with the _webPort_ option (or it can be set to 0 to disable web interface).\n[BoringAPI](https://github.com/nanopool/BoringAPI) for getting rig statistics is supported aswell, which can be found on http://127.0.0.1:9090/stats.\n\n**nanominer** also supports the network API program EthMan for rig monitoring. By default it opens port 3333 in “read-only” mode without the ability to restart the miner or rig through the network. In the program's config file, the port can be configured and the API function can be deactived with the _mport_ function. The config file also lets you set a password for monitoring with the _ethmanPassword_ option.\n\n## Automatic Restart Function\nWith default settings, **nanominer** will automatically restart if it encounters critical errors in the GPU or lag. (These errors usually arise due to hardware problems or overclocking the GPU.) The automatic restart function can be deactivated using the _watchdog_ parameter.\n\nLikewise, the _minHashrate_ (minimum hashrate) parameter allows the user to set the value of the minimum hashrate which, if exceeded, will cause the miner to restart. This function uses the average hashrate over the last ten minutes, as displayed in blue in the console log. If the average hashrate over 10 minutes is lower than the set value, the miner will restart. With default settings the minimum hashrate is not set.\n\nAnother function on **nanominer** that improves the miner's automatic functioning is handled by the _restarts_ parameter.It sets the number of times the miner restarts before rebooting the worker (rig). By default the miner will only restart itself.\n\nMore detailed information on using these functions can be found in the _Parameters_ section of this file.\n\n## Parameters\nThe settings for **nanominer** can be found in the configuration file with the *.ini extension (_config.ini_ by default). Config file can contain common params and algorithm params (in sections with corresponding algorithm names). Section names can be defined as “Ethash”, “Etchash”, “KawPow”, “Octopus”, “Ubqhash”, “RandomX”, “Verushash”, “Autolykos” or “Zilliqa”. Configuration file must be in the following format:\n```ini\ncommonparameter1=commonvalue1\ncommonparameter2=commonvalue2\ncommonparameterX=commonvalueX\n\n[AlgoName1]\ndevices=0,1\nwallet = wallet1\nalgoparameter1=algovalue1_1\nalgoparameter2=algovalue1_2\nalgoparameterY=algovalue1_Y\n\n[AlgoName2]\ndevices=2,3\nwallet = wallet2\nalgoparameter1=algovalue2_1\nalgoparameter2=algovalue2_2\nalgoparameterZ=algovalue2_Z\n\n[AlgoName3]\ndevices=4,5\nwallet = wallet3\n```\nMore config examples can be found below.\n\nThis file permits the presence of empty lines and comments. Comment lines should begin with a \";\" (semicolon). The parameters and values are not case-sensitive, which means it makes no difference to the program whether you type _ETH_, _eth_ or _Eth_, or whether you type _wallet_ or _Wallet_. If an incorrect value is set for a parameter, the default value will be used instead (note that this rule does not apply to the _wallet_ parameter).\n\nWhat follows is a list of the parameters that can be set on **nanominer**.\n### wallet\nMandatory parameter.\nThis is the user's wallet, where funds will be deposited.\n### coin\nOptional parameter.\nThis chooses the default coin for the pool. The default pool is [nanopool.org](https://nanopool.org/).\nThe coin parameter accepts one of the following values: ETHW (or EthereumPOW), ETC (or Ethereum Classic), RVN (or Raven), CFX (or Conflux), QKC (or QuarkChain), UBQ (or Ubiq), XMR (or Monero), VRSC (or Verus), ERG (or Ergo), VTC (or Vertcoin), FIRO, ZIL (or Zilliqa). When a coin is specified and equals one of the values mentioned above, **nanominer** automatically tries to determine the pool necessary for it to function if none have been provided in a separate parameter. If a coin is specified but **nanominer** cannot recognize it, then the name of the coin is used only for logging. If a coin is not specified, **nanominer** will use the default coin for the corresponding algorithm. Moreover, if [nanopool.org](https://nanopool.org/) is specified in the configuration file for Ethereum Classic, EthereumPOW, Ergo or Monero, **nanominer** will determine the coin from the pool's settings.\n\n*Important*: when using **nanominer** to mine EthereumPOW on the default pool, it is necessary to define the coin (coin=ETHW). In that case the pools will be determined automatically.\n\nIf the pools are clearly defined with the aid of the _pool1, pool2, ..._, parameters, then **nanominer** will function according to the tasks it receives from those pools.\n### rigName\nOptional parameter. Can be specified in common parameter section instead of the algorithm section to be applied for all algorithms at once.\nThis is the name of the rig (computer/worker). It will be displayed in the pool's statistics. If this parameter is not set, the program will generate a unique name and provide it to the pool. To disable rigname completely just set it to empty string with\n```ini\nrigName=\n```\n### email\nOptional parameter. Can be specified in common parameter section instead of the algorithm section to be applied for all algorithms at once.\nThis is the user’s e-mail address. It is provided to the pool where the rig will be operating. The pool can use it when sending out service notifications.\n### pool1, pool2, ...\nOptional parameter.\nThis defines the set of mining pools used. Values must be given in the format url:port (e.g. `pool1=etc-eu1.nanopool.org:19999`). The parameters should be defined in ascending, sequential order, from pool1 to poolN (for example: pool1, pool2, pool3). If the pool list is provided, the best pool will be chosen from the order of the pool list. If a `sortPools=true` option is specified, the best pool will be chosen by the connection speed. If the pool (or list of pools) is not defined, **nanominer** will automatically use the pools on [nanopool.org](https://nanopool.org/) that correspond to the chosen cryptocurrency. For QuarkChain public full nodes are used if no pools are defined. For Ubiq [Ubiqpool.io](https://ubiqpool.io) pools are used if no pools are defined.\n\n### protocol\nOptional parameter.\nCan be used to set the pool protocol to _stratum_. If not specified, **nanominer** will try to detect the pool protocol automatically.\n\n### rigPassword\nOptional parameter.\nThe password for the rig (or worker). It may be necessary when working with pools that require registration and setting a rig password.\n### watchdog\nOptional parameter.\nThis parameter manages the miner's restart function when running into critical GPU errors or lag. It accepts the values _true_ or _false_. By default, _true_ – automatic restart – is activated.\n### restarts\nOptional parameter.\nThis parameter sets the number of times the miner will restart before rebooting the rig. In case of GPU problems like hardware errors or lag, or in case of hashrate degradation (if the _minhashrate_ option is used), **nanominer** will restart. However, certain errors cannot be fixed by restarting the program. In such cases it is necessary to reboot the rig. To reboot, the miner loads the _reboot.bat_ script from the current directory if running on Windows or _reboot.sh_ if on Linux:\n```\nreboot\n```\n**The reboot.sh file on Linux must be given execute permissions in order for it to work.**\nThe typical content of the _reboot.bat_ script for Windows:\n```\nshutdown /r /t 5 /f\n```\nThe script must be written by the user.\nTo run reboot script instead of restarting miner every time a critical error occurs, just set `restarts=0`\n### minHashrate\nOptional parameter.\nThis is the minimum acceptable hashrate. This function keeps track of the rig's total hashrate and compares it with this parameter. If five minutes after the miner is launched the set minimum is not reached, **nanominer** will automatically restart. Likewise, the miner will restart if for any reason the average hashrate over a ten-minute period falls below the set value. This value can be set with an optional modifier letter that represents a thousand for kilohash or a million for megahash per second. For example, setting the value to 100 megahashes per second can be written as 100M, 100.0M, 100m, 100000k, 100000K or 100000000. If this parameter is not defined, the miner will not restart (with the exception of the situations described in the _watchdog_ section). Restarts caused by this option count towards the _restarts_ parameter.\n### maxRejectedShares\nOptional paramter.\nCan be used to set the maximum amount of rejected shares before restarting miner process/rebooting the rig. Restarts caused by this option count towards the _restarts_ parameter.\nOption is disabled by default.\n### devices\nOptional paramter.\nThese are the graphics cards that will be used by the miner. If you do not want to launch the miner on all available GPUs but only on some of them, their numbers can be provided in the _devices_ parameter separated by a comma or space. **nanominer** numbers the GPUs starting from zero in ascending order of their PCI addresses. You can see a list of available GPUs and the order in which they're in by launching **nanominer** with the _-d_ command line option:\n```\nnanominer -d\n```\nFor example, if there are four GPUs in the system (0, 1, 2, 3) and all but the second-to-last one (indexed as 2) must be set to mine, then the devices option must be set in the following manner:\n```ini\ndevices=0,1,3\n```\nThe order of devices determines the order of displayed hashrate. For example, if it is set as\n```ini\ndevices=3,1,0\n``` \nthen the hashrate line will first display GPU3, then GPU1 and finally GPU0.\n\n### checkForUpdates\nOptional parameter.\nThis parameter accepts the values _true_ or _false_ (the default is _true_). If this parameter is set to _false_ then **nanominer** stops checking for the newest release version on every startup.\n\n### autoUpdate\nOptional parameter.\nThis parameter accepts the values _true_ or _false_ (the default is _false_). If this parameter is set to _true_ and checking for updates is enabled, then **nanominer** will update itself on every startup, provided there is a newer version available.\n\n### coreClocks, memClocks\nOptional parameters.\nCan be used to overclock/underclock NVIDIA GPU's. Absolute (e.g. 4200) as well as relative (e.g. +200, -150) values in MHz are accepted. Parameter values must be separated by a comma or space (first value is for GPU0, second is for GPU1, and so on). For example, if it is set as\n```ini\ncoreClocks=+200,-150\nmemClocks=+300,3900\n```\nthen GPU0 will be overclocked by 200 MHz of core and 300 MHz of memory, whereas GPU1 core clock will be underclocked by 150 MHz, and its memory clock set to 3900 MHz.\nYou can also apply same settings for each GPU by defining only one core and memory clock value, for example:\n```ini\ncoreClocks=+200\nmemClocks=+300\n```\n\n### powerLimits\nOptional parameter.\nCan be used to set Nvidia cards power limits from -50 to 50. For example, -20 means 80% power limit, 10 means 110% power limit. Parameter values must be separated by a comma or space (first value is for GPU0, second is for GPU1, and so on). You can also apply same settings for each GPU by defining only one power limit value.\n\n### memTweak\nOptional parameter.\nCan be set to modify AMD GPU timings on the fly for Ethash/Etchash/Ubqhash algorithms. The following AMD ASICs are currently supported: gfx900, gfx901, gfx906, gfx907, Baffin, Ellesmere, gfx804, Hawaii, Tahiti, Pitcairn, Tonga.\n\nMiner must be launched using admin/root privileges in order to change timings.\n\nDefault memory tweak value is 1 which means slightly improving memory timings. Zero value means timings are left as is without modifications. Parameter values must be separated by a comma or space (first value is for GPU0, second is for GPU1, and so on). Supported memory tweak value range is from 0 to 10 (0 means disabling timings modification, 1 is the least intense, 10 is the most intense), for example:\n```ini\nmemTweak=9,8,10\n```\nIt is recommended to begin from lower values and increase them if the miner works stably.\n\nYou can also apply same settings for each GPU by defining only one memory tweak value:\n```ini\nmemTweak=10\n```\n\n### fanSpeed\nOptional parameter.\nUsed to set the GPU fan speed to a specific percentage from 30% to 100%. If below 30, automatically sets to 30. If the value is incorrect, i.e. negative or non-numeric value, sets to the last used value.\n\n### epoch\nOptional parameter.\nEthash algorithm specific option to check miner behaviour on different Ethash epochs.\n\n### zilEpoch\nOptional parameter.\nSets the epoch of Zilliqa DAG to store in GPU memory (default is 0).\n\n### noLog\nOptional parameter.\nThis parameter accepts the values _true_ or _false_ (the default is _false_). If this parameter is set to _true_ then no log files will be recorded onto the hard drive.\n\n### noColor\nOptional parameter.\nThis parameter accepts the values _true_ or _false_ (the default is _false_). If this parameter is set to _true_ then the console output won't contain any colors.\n\n### logPath\nOptional parameter.\nThis parameter can either be used to set the name of the folder in which log files will be created (e.g. `logPath=logfolder/`), or to specify a path to single file, which will be used for all logs (e.g. `logPath=logs/log.txt`, `logPath=/var/log/nanominer/log.txt`, `logPath=C:\\logs\\log.txt`). Both relative and absolute paths work.\nDefault value for this parameter is _logs/_.\n\n### webPassword\nOptional parameter.\nPassword for web interface. There is no password by default (web interface is read-only).\n\n### webPort\nOptional parameter.\nPort for web interface. The default port is 9090. Zero value disables web interface.\n\n### mport\nOptional parameter.\nThis is the network port for remote monitoring and program management through EthMan or other programs that use a similar API protocol format.\nThe program supports all API functions, including restarting the miner and rig(s).\nYou can block miner management through API (in which case the miner will only display the statistics and won't respond to any commands). To enable this function, a \"minus\" (-) sign must be written before the port number.\nAnd you can completely deactivate remote monitoring. To do this, the port number must be set to \"0\" (zero).\nDefault value: -3333 (This means that the miner blocks management through API and displays statistics on port 3333).\n\n### ethmanPassword\nOptional parameter.\nYour password for monitoring with EthMan and other utilities that support the same network API.\n\n### useSSL\nOptional parameter.\nThis parameter accepts the values _true_ or _false_ (the default is _true_). If this parameter is set to _true_ then miner always tries to use SSL pool connection first and fallbacks to unencrypted connection if SSL connection failed. If this parameter is set to _false_ then miner doesn't try using SSL for pool connection.\n\n### shardId\nOptional parameter.\nCan be used to set a shard ID for QuarkChain solo mining. This parameter should be specified in hex, e.g. 0x1, 0x10001, 0x10002, 0x50001, etc. For root chain shard ID `null` must be specified. For more information on shards, visit [this](https://github.com/QuarkChain/pyquarkchain/wiki/Address,-Shard-Key,-Chain-Id,-Shard-Id) and [this](https://github.com/quarkChain/pyquarkchain/releases/latest) link. Default shard ID is 0x1. Shard ID is passed to QuarkChain node \"as is\" so all current and future Ethash shards are supported.\n\n### farmRecheck\nOptional parameter.\nThe interval (in milliseconds) between polling the node for new jobs in solo mining mode for QuarkChain. Default value is 200. \n\n### cpuThreads\nOptional parameter for CPU mining.\nSpecifies the number of concurrent CPU threads to use for mining. All threads are used by default.\n\n### sortPools\nOptional parameter.\nThis parameter accepts the values _true_ or _false_ (the default is _false_). If this parameter is set to _true_ then the best pool will be chosen by least ping (not by the pool list).\n\n### countDevShares\nOptional parameter.\nThis parameter accepts the values _true_ or _false_ (the default is _false_ for QuarkChain solo mining and _true_ for other coins). If this parameter is set to _true_ then shares accepted or rejected by pool during fee time will be included in miner statistics. Otherwise only shares during user mining are included to miner statistics.\n\n### validateShares\nOptional parameter.\nThis parameter accepts the values _true_ or _false_ (the default is _false_). If this parameter is set to _true_ then shares of ethash algorithms family on AMD GPUs are validated by CPU. Also in this case share difficulty is shown for AMD GPUs.\n\n### sendHashrate\nOptional parameter for Ethash, Etchash and Ubqhash algorithms. This parameter accepts the values _true_ or _false_. The default value is _true_ (if JSON-RPC pool protocol is used).\n\n### silence\nOptional parameter. This parameter accepts the values from 0 to 3. Control the amount of information displayed in the logs and on the screen.\n0: All the information is logged. Default behaviour.\n1: Hide frequent job messages.\n2: Also hide shares messages.\n3: Also hide hashrate prints.\n\n### dagSer\nOptional parameter for Ethash, Etchash, FiroPow and KawPow algorithms.\nThis parameter accepts the values _true_ or _false_ (the default is _false_). If this parameter is set to _true_ then the DAG will be generated sequentially on each GPU. Otherwise all the GPUs generate DAG at the same time.\n\n### lhr\nOptional parameter for Ethash and Etchash algorithms. Can be used to set desired percentage of full unlocked hashrate. Valid range is from 50 to 100. Also can be set to _off_ (-1) or _auto_ (0). Use _off_ for non-LHR cards and _auto_ for automatic LHR card detection and tuning. Default is _auto_. This parameter can be set for each GPU separately. In this case, order must correspond to the order of GPUs, specified in _devices_ parameter. For example:\n```ini\ndevices=0,2,3\nlhr=71.5,off,0\n```\nmeans 71.5% for GPU0, _off_ for GPU2 and _auto_ for GPU3.\n\n## Configuration File\nThe minimum configuration file for Ethereum Classic may contain only a wallet:\n```ini\nwallet=\u003cwallet\u003e\n```\n**nanominer** will automatically use Ethereum Classic pools.\n\nTo work with EthereumPOW, the coin must be specified:\n```ini\nwallet=\u003cwallet\u003e\ncoin=ETHW\n```\nIn this case **nanominer** will use pools corresponding to EthereumPOW.\n\n## IMPORTANT!\nFor coins that are not supported by [nanopool.org](https://nanopool.org/), **you must** specify a **wallet** and pools (**pool1...**).\n\n## Launching from command line\nIt is possible to run nanominer from the command line with the desired arguments. At least one algorithm and wallet are required to be passed. All common config parameters in the command line must be specified before the first \"algo\" parameter. Here are some examples of command lines for launching Ethereum Classic and Monero:\n\nWindows:\n```\nnanominer.exe -algo etchash -wallet YOUR_ETC_WALLET -coin eth -rigName YOUR_ETC_WORKER -email YOUR_EMAIL -algo randomx -wallet YOUR_XMR_WALLET -coin xmr -rigName YOUR_XMR_WORKER -email YOUR_EMAIL \n```\nLinux:\n```\n./nanominer -algo etchash -wallet YOUR_ETC_WALLET -coin eth -rigName YOUR_ETC_WORKER -email YOUR_EMAIL -algo randomx -wallet YOUR_XMR_WALLET -coin xmr -rigName YOUR_XMR_WORKER -email YOUR_EMAIL \n```\n\nIf no algo specified, etchash is used by default. So the following commands will launch the etchash algorithm:\n\nWindows:\n```\nnanominer.exe -wallet YOUR_WALLET\n```\nLinux:\n```\n./nanominer -wallet YOUR_WALLET\n```\n\nThe helper scripts folder with all of its contents is still there, for those who use it.\n\n## Examples of Configuration Files\n\nExample of a configuration file for Ethereum Classic and Monero:\n```ini\n[Etchash]\nwallet = 0xffffffffffffffffffffffffffffffffffffffff\nrigName = rig1\nemail = someemail@org\npool1 = etc-eu1.nanopool.org:19999\npool2 = etc-eu2.nanopool.org:19999\npool3 = etc-us-east1.nanopool.org:19999\npool4 = etc-us-west1.nanopool.org:19999\npool5 = etc-asia1.nanopool.org:19999\npool6 = etc-jp1.nanopool.org:19999\npool7 = etc-au1.nanopool.org:19999\n[RandomX]\nwallet = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nrigName = rig1\nemail = someemail@org\npool1 = xmr-eu1.nanopool.org:14433\npool2 = xmr-eu2.nanopool.org:14433\npool3 = xmr-us-east1.nanopool.org:14433\npool4 = xmr-us-west1.nanopool.org:14433\npool5 = xmr-asia1.nanopool.org:14433\n```\nExample of a configuration file for split Ethereum Classic and Zilliqa:\n```ini\n[Etchash]\nwallet = 0xffffffffffffffffffffffffffffffffffffffff\n; nanopool by default\n[Zilliqa]\nwallet = zilxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\npool1 = eu.ezil.me:4444\npool2 = us-west.ezil.me:4444\npool3 = asia.ezil.me:4444\n```\n\nExample of a configuration file for merged Ethereum Classic and Zilliqa:\n```ini\n[Etchash]\nwallet = 0xffffffffffffffffffffffffffffffffffffffff.zilxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\nzilEpoch = 0\npool1 = eu.ezil.me:4444\npool2 = us-west.ezil.me:4444\npool3 = asia.ezil.me:4444\n```\nExample of a configuration file for Ethereum Classic:\n```ini\n[Etchash]\nwallet = 0xffffffffffffffffffffffffffffffffffffffff\nrigName = rig1\nemail = someemail@org\npool1 = etc-eu1.nanopool.org:19999\npool2 = etc-eu2.nanopool.org:19999\npool3 = etc-us-east1.nanopool.org:19999\npool4 = etc-us-west1.nanopool.org:19999\npool5 = etc-asia1.nanopool.org:19999\npool6 = etc-jp1.nanopool.org:19999\npool7 = etc-au1.nanopool.org:19999\n```\nExample of an equivalent file for Ethereum Classic:\n```ini\n[Etchash]\nwallet = 0xffffffffffffffffffffffffffffffffffffffff\nrigName = rig1\nemail = someemail@org\n```\nExample of a minimum file for Ethereum Classic:\n```ini\n[Etchash]\nwallet=0xffffffffffffffffffffffffffffffffffffffff\n```\nExample of a configuration file for split EthereumPOW and Zilliqa:\n```ini\n[Ethash]\nwallet = 0xffffffffffffffffffffffffffffffffffffffff\n; nanopool by default\n[Zilliqa]\nwallet = zilxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\npool1 = eu.ezil.me:4444\npool2 = us-west.ezil.me:4444\npool3 = asia.ezil.me:4444\n```\nExample of a configuration file for EthereumPOW:\n```ini\n[Ethash]\nwallet = 0xffffffffffffffffffffffffffffffffffffffff\ncoin=ETHW\nrigName = rig1\nemail = someemail@org\npool1 = ethw-eu1.nanopool.org:15433\npool2 = ethw-eu2.nanopool.org:15433\npool3 = ethw-us-east1.nanopool.org:15433\npool4 = ethw-us-west1.nanopool.org:15433\npool5 = ethw-asia1.nanopool.org:15433\npool6 = ethw-jp1.nanopool.org:15433\npool7 = ethw-au1.nanopool.org:15433\n```\nExample of an equivalent file for EthereumPOW:\n```ini\n[Ethash]\nwallet = 0xffffffffffffffffffffffffffffffffffffffff\ncoin=ETHW\nrigName = rig1\nemail = someemail@org\n```\nExample of a minimum file for EthereumPOW:\n```ini\n[Ethash]\nwallet=0xffffffffffffffffffffffffffffffffffffffff\ncoin=ETHW\n```\nExample of a complete configuration file for solo QuarkChain mining:\n```ini\n[Ethash]\nwallet=0xffffffffffffffffffffffffffffffffffffffff\nshardId=0x30001\nfarmRecheck=200\ncoin=Qkc\npool1=localhost:38391\nprotocol=getwork\n```\nExample of a minimum file for solo QuarkChain mining:\n```ini\n[Ethash]\nwallet=0xffffffffffffffffffffffffffffffffffffffff\ncoin=Qkc\npool1=localhost:38391\nshardId=0x50001\n```\nExample of a file for solo QuarkChain mining on root shard:\n```ini\n[Ethash]\nwallet=0xffffffffffffffffffffffffffffffffffffffff\ncoin=Qkc\npool1=localhost:38391\nshardId=null\n```\nExample of a minimum file for QuarkChain mining using public nodes:\n```ini\n[Ethash]\nwallet=0xffffffffffffffffffffffffffffffffffffffff\ncoin=Qkc\nshardId=0x30001\n```\n\nExample of a configuration file for Ubiq:\n```ini\n[Ubqhash]\nwallet = 0xffffffffffffffffffffffffffffffffffffffff\ncoin=Ubq\nrigName = rig1\nemail = someemail@org\npool1 = us.ubiqpool.io:8008\npool2 = eu.ubiqpool.io:8008\n```\nExample of a minimum file for Ubiq:\n```ini\ncoin=UBQ\nwallet=0xffffffffffffffffffffffffffffffffffffffff\n```\nExample of a complete file for Monero:\n```ini\n[RandomX]\nwallet = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nrigName = rig1\nemail = someemail@org\npool1 = xmr-eu1.nanopool.org:14433\npool2 = xmr-eu2.nanopool.org:14433\npool3 = xmr-us-east1.nanopool.org:14433\npool4 = xmr-us-west1.nanopool.org:14433\npool5 = xmr-asia1.nanopool.org:14433\n```\nExample of an equivalent file for Monero:\n```ini\n[RandomX]\nwallet = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\nrigName = rig1\nemail = someemail@org\n```\nExample of a minimum file for Monero:\n```ini\n[RandomX]\nwallet = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n```\n\nExample of a minimum file for Zephyr:\n```ini\n[RandomX]\nwallet = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\npool1 = zeph-eu1.nanopool.org:10943\n```\n\nExample of a configuration file for Ravencoin:\n```ini\n[Kawpow]\nwallet = Rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr\ncoin=Rvn\nrigName = rig1\nemail = someemail@org\npool1 = rvn-eu1.nanopool.org:12433\npool2 = rvn-eu2.nanopool.org:12433\npool3 = rvn-us-east1.nanopool.org:12433\npool4 = rvn-us-west1.nanopool.org:12433\npool5 = rvn-asia1.nanopool.org:12433\npool6 = rvn-jp1.nanopool.org:12433\npool7 = rvn-au1.nanopool.org:12433\n\n```\nExample of a minimum file for Ravencoin:\n```ini\nwallet=Rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr\n```\n\nExample of a complete file for Conflux:\n```ini\n[Octopus]\nwallet = cfx:ffffffffffffffffffffffffffffffffffffffffff\nrigName = rig1\nemail = someemail@org\npool1=cfx-eu1.nanopool.org:17433\npool2=cfx-eu2.nanopool.org:17433\npool3=cfx-us-east1.nanopool.org:17433\npool4=cfx-us-west1.nanopool.org:17433\npool5=cfx-asia1.nanopool.org:17433\npool6=cfx-jp1.nanopool.org:17433\npool7=cfx-au1.nanopool.org:17433\n```\n\nExample of an equivalent file for Conflux:\n```ini\n[Octopus]\nwallet = cfx:ffffffffffffffffffffffffffffffffffffffffff\nrigName = rig1\nemail = someemail@org\n```\nExample of a minimum file for Conflux:\n```ini\nwallet = cfx:ffffffffffffffffffffffffffffffffffffffffff\ncoin = CFX\n```\nExample of a configuration file for Conflux and Zilliqa:\n```ini\n[Octopus]\nwallet = cfx:ffffffffffffffffffffffffffffffffffffffffff\n[Zilliqa]\nwallet = zilxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\npool1 = eu.ezil.me:4444\npool2 = us-west.ezil.me:4444\npool3 = asia.ezil.me:4444\n```\n\nExample of a complete file for VerusCoin:\n```ini\n[Verushash]\nwallet = REoPcdGXthL5yeTCrJtrQv5xhYTknbFbec\ncoin = VRSC\nrigName = speed_test\nrigPassword=d=4\ncpuThreads=4\npool1 = na.luckpool.net:3956\n```\n\nExample of a minimum file for VerusCoin:\n```ini\ncoin = VRSC\nwallet = REoPcdGXthL5yeTCrJtrQv5xhYTknbFbec\npool1 = na.luckpool.net:3956\n```\n\nExample of a complete file for Ergo:\n```ini\n[autolykos]\nwallet = 9he6BZYMN8FMKxYKsqPvQJ6fbNar4bWuhJsR9JJt4x9Z6fiqSo1\nrigName = rig1\nemail = someemail@org\npool1 = ergo-eu1.nanopool.org:11433\npool2 = ergo-us-east1.nanopool.org:11433\npool3 = ergo-us-west1.nanopool.org:11433\npool4 = ergo-eu2.nanopool.org:11433\npool5 = ergo-asia1.nanopool.org:11433\npool6 = ergo-jp1.nanopool.org:11433\npool7 = ergo-au1.nanopool.org:11433\n```\n\nExample of an equivalent file for Ergo:\n```ini\n[autolykos]\nwallet = 9he6BZYMN8FMKxYKsqPvQJ6fbNar4bWuhJsR9JJt4x9Z6fiqSo1\nrigName = rig1\nemail = someemail@org\n```\nExample of a minimum file for Ergo:\n```ini\ncoin=ergo\nwallet = 9he6BZYMN8FMKxYKsqPvQJ6fbNar4bWuhJsR9JJt4x9Z6fiqSo1\n```\n\nExample of a configuration file for Firo:\n```ini\n[FiroPow]\nwallet = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\ncoin=Firo\nrigName = rig1\nemail = someemail@org\npool1 = firo-eu1.picopool.org:22222\n\n```\n\nExample of IronFish\n```ini\n[fishhash]\nwallet = 388b74938c5996a491d315cc75d425832ed47bcf258c7759a5e275fc84a3fa5d\n```\n\nExample of dual mining ETC + Zilliqa\n```ini\n[etchash]\nwallet = 0x9eab4b0fc468a7f5d46228bf5a76cb52370d068d\n\n[zil]\nwallet = zil1rpxnv479xy9c2jlgry3wy3869rnt4rjvjwjtuv\npool1 = eu.etc.k1pool.com:1111\nzilEpoch = 1 ; number of DAG epoch for caching\n```\n\nExample of configuration file for mining Ethereum Classic, Ergo, Ubiq and Monero on same 8 GPUs rig using separate devices:\n```ini\nrigName = rig1\n[Etchash]\nwallet = 0xffffffffffffffffffffffffffffffffffffffff\ndevices = 0,1\n[Autolykos]\nwallet = 9he6BZYMN8FMKxYKsqPvQJ6fbNar4bWuhJsR9JJt4x9Z6fiqSo1\ndevices = 5\n[Ubqhash]\nwallet = 0x1111111111111111111111111111111111111111\npool1 = eu.ubiqpool.io:8008\ndevices = 2,3,4,6,7\n[RandomX]\nwallet=fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n```\n\nExample of configuration file for mining Raven, Zilliqa and Nevocoin:\n```ini\n[kawpow]\nwallet = RRL5mMNeox75MGbqnfUZEhn3RferuvFGcy\n\n[zil]\nwallet = zil1rpxnv479xy9c2jlgry3wy3869rnt4rjvjwjtuv\nzilEpoch = 1 ; number of DAG epoch for caching\npool1 = eu.ezil.me:4444\n\n[RandomNevo]\nwallet = NS3B3hTCmhMZiMMpm7mPv56mLWGjUntbcUGiDtXyMHkh31PPd2kuyW6bTs7urbpLUPR2AZVWMgTmY5C6LEaiQeA41mTKBSZ9c\npool1 = nevocoin.ch:2052\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanopool%2Fnanominer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnanopool%2Fnanominer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanopool%2Fnanominer/lists"}