Introduction
The xelis_miner application is a CPU miner that allows you to participate in securing the XELIS network by contributing your computer’s central processing unit (CPU) power to validate transactions and produce new blocks.
Unlike specialized hardware such as GPUs or ASICs, CPU mining uses the processing resources already built into most desktop and laptop computers, making it the most accessible way to start mining.
This approach is particularly useful for newcomers who want to support the network, test configurations, or mine with spare capacity on personal machines.
While CPUs are generally less powerful than dedicated mining hardware, they provide an easy, low-barrier entry point into the XELIS ecosystem.
The XELIS CPU miner is lightweight, integrates directly with the
node software, and requires minimal setup,
allowing anyone to start mining and earning XEL rewards with just a few
configuration steps.
Configuration
Connects to a daemon, receives GetWork jobs, and mines blocks for the configured reward address.
log_level
Minimum log level printed to the terminal
| Field | Value |
|---|---|
| Usage | --log-level <LOG_LEVEL> |
| Required | No |
| Value | Yes |
| Value name | LOG_LEVEL |
| Default value | info |
| Possible values | off, error, warn, info, debug, trace |
file_log_level
Minimum log level written to the log file.
Defaults to the terminal log level.
| Field | Value |
|---|---|
| Usage | --file-log-level <FILE_LOG_LEVEL> |
| Required | No |
| Value | Yes |
| Value name | FILE_LOG_LEVEL |
| Possible values | off, error, warn, info, debug, trace |
disable_file_logging
Disable writing logs to a file
| Field | Value |
|---|---|
| Usage | --disable-file-logging |
| Required | No |
| Value | No |
| Value name | DISABLE_FILE_LOGGING |
| Default value | false |
| Possible values | true, false |
disable_file_log_date_based
Disable date-based log filenames.
When enabled, the log file is named xelis-miner.log instead of YYYY-MM-DD.xelis-miner.log.
| Field | Value |
|---|---|
| Usage | --disable-file-log-date-based |
| Required | No |
| Value | No |
| Value name | DISABLE_FILE_LOG_DATE_BASED |
| Default value | false |
| Possible values | true, false |
auto_compress_logs
Compress rotated log files automatically.
This only applies when file logging is enabled.
| Field | Value |
|---|---|
| Usage | --auto-compress-logs |
| Required | No |
| Value | No |
| Value name | AUTO_COMPRESS_LOGS |
| Default value | false |
| Possible values | true, false |
disable_log_color
Disable colors in terminal logs
| Field | Value |
|---|---|
| Usage | --disable-log-color |
| Required | No |
| Value | No |
| Value name | DISABLE_LOG_COLOR |
| Default value | false |
| Possible values | true, false |
disable_interactive_mode
Disable the interactive terminal prompt.
CLI commands and live prompt updates are unavailable in this mode.
| Field | Value |
|---|---|
| Usage | --disable-interactive-mode |
| Required | No |
| Value | No |
| Value name | DISABLE_INTERACTIVE_MODE |
| Default value | false |
| Possible values | true, false |
filename_log
Log filename stored inside logs_path.
Defaults to xelis-miner.log. Unless date-based filenames are disabled, daily log files are named YYYY-MM-DD.xelis-miner.log.
| Field | Value |
|---|---|
| Usage | --filename-log <FILENAME_LOG> |
| Required | No |
| Value | Yes |
| Value name | FILENAME_LOG |
| Default value | xelis-miner.log |
logs_path
Directory where log files are written.
Defaults to logs/. The path must end with / or \.
| Field | Value |
|---|---|
| Usage | --logs-path <LOGS_PATH> |
| Required | No |
| Value | Yes |
| Value name | LOGS_PATH |
| Default value | logs/ |
logs_modules
Per-module log filters
| Field | Value |
|---|---|
| Usage | --logs-modules <LOGS_MODULES> |
| Required | No |
| Value | Yes |
| Value name | LOGS_MODULES |
| Multiple | Yes |
disable_ascii_art
Disable the ASCII art shown at startup
| Field | Value |
|---|---|
| Usage | --disable-ascii-art |
| Required | No |
| Value | No |
| Value name | DISABLE_ASCII_ART |
| Default value | false |
| Possible values | true, false |
datetime_format
Datetime format used in log entries
| Field | Value |
|---|---|
| Usage | --datetime-format <DATETIME_FORMAT> |
| Required | No |
| Value | Yes |
| Value name | DATETIME_FORMAT |
| Default value | \[%Y-%m-%d\] (%H:%M:%S%.3f) |
benchmark
Enable benchmark mode for the selected proof-of-work algorithm
| Field | Value |
|---|---|
| Usage | --benchmark <BENCHMARK> |
| Required | No |
| Value | Yes |
| Value name | BENCHMARK |
| Possible values | v1, v2, v3 |
iterations
Number of proof-of-work iterations to run per benchmark thread count
| Field | Value |
|---|---|
| Usage | --iterations <ITERATIONS> |
| Required | No |
| Value | Yes |
| Value name | ITERATIONS |
| Default value | 100 |
miner_address
Wallet address that receives mined block rewards
| Field | Value |
|---|---|
| Usage | -m <MINER_ADDRESS>, --miner-address <MINER_ADDRESS> |
| Required | No |
| Value | Yes |
| Value name | MINER_ADDRESS |
daemon_address
Daemon RPC address used to receive mining work
| Field | Value |
|---|---|
| Usage | --daemon-address <DAEMON_ADDRESS> |
| Required | No |
| Value | Yes |
| Value name | DAEMON_ADDRESS |
| Default value | 127.0.0.1:8080 |
api_bind_address
Bind address for the miner stats API
| Field | Value |
|---|---|
| Usage | --api-bind-address <API_BIND_ADDRESS> |
| Required | No |
| Value | Yes |
| Value name | API_BIND_ADDRESS |
num_threads
Number of mining threads to use.
Defaults to the detected CPU parallelism.
| Field | Value |
|---|---|
| Usage | -n <NUM_THREADS>, --num-threads <NUM_THREADS> |
| Required | No |
| Value | Yes |
| Value name | NUM_THREADS |
worker
Worker name displayed by the daemon
| Field | Value |
|---|---|
| Usage | -w <WORKER>, --worker <WORKER> |
| Required | No |
| Value | Yes |
| Value name | WORKER |
| Default value | default |
config_file
JSON configuration file to load
| Field | Value |
|---|---|
| Usage | --config-file <CONFIG_FILE> |
| Required | No |
| Value | Yes |
| Value name | CONFIG_FILE |
generate_config_template
Generate a configuration template at config_file
| Field | Value |
|---|---|
| Usage | --generate-config-template |
| Required | No |
| Value | No |
| Value name | GENERATE_CONFIG_TEMPLATE |
| Default value | false |
| Possible values | true, false |