Skip to Content
Getting StartedConfigurationxelis_daemon

Introduction

xelis_daemon is the core service that runs the XELIS blockchain on your machine. It is responsible for maintaining a full copy of the distributed ledger, validating incoming blocks, and relaying transactions across the network.

When the daemon is running, your node actively participates in the XELIS peer-to-peer system, helping to secure the network and keep it synchronized in real time.

The daemon also provides the foundation for other components, such as the wallet and the miner, by exposing an interface through which they can interact with the blockchain. Running the daemon is an essential step for users who want to operate a full node, mine directly on the network, or simply ensure they are working with the most up-to-date state of the chain.

Running a local node is highly recommended, as it ensures you remain fully trustless and independent of third parties, enhances your privacy, and helps spread and secure the XELIS network.

Configuration

XELIS daemon node. Synchronizes and validates the blockchain, participates in the P2P network, and serves RPC and mining work.

disable-getwork-server

Disable the GetWork websocket server used by miners

FieldValue
Usage--disable-getwork-server
RequiredNo
ValueNo
Value namedisable-getwork-server
Default valuefalse
Possible valuestrue, false

getwork-rate-limit-ms

Minimum delay, in milliseconds, between GetWork job notifications.

New jobs can be produced quickly when the mempool changes. Use this to coalesce updates before notifying miners. Set to 0 to send every new job immediately.

FieldValue
Usage--getwork-rate-limit-ms <getwork-rate-limit-ms>
RequiredNo
ValueYes
Value namegetwork-rate-limit-ms
Default value500

getwork-notify-job-concurrency

Maximum number of miners notified concurrently for each new job.

Defaults to the detected CPU parallelism. Set to 0 to remove the limit and spawn one notification task per miner.

FieldValue
Usage--getwork-notify-job-concurrency <getwork-notify-job-concurrency>
RequiredNo
ValueYes
Value namegetwork-notify-job-concurrency
Default value32

enable

Enable the Prometheus metrics endpoint.

The endpoint is served by the RPC server, so RPC must also be enabled.

FieldValue
Usage--enable-prometheus
RequiredNo
ValueNo
Value nameENABLE
Default valuefalse
Possible valuestrue, false

prometheus-route

HTTP route used to expose Prometheus metrics

FieldValue
Usage--prometheus-route <prometheus-route>
RequiredNo
ValueYes
Value nameprometheus-route
Default value/metrics

disable-rpc-server

Disable the RPC server.

This also disables GetWork and Prometheus because both are served through the RPC server.

FieldValue
Usage--disable-rpc-server
RequiredNo
ValueNo
Value namedisable-rpc-server
Default valuefalse
Possible valuestrue, false

rpc-bind-address

Address and port where the RPC server listens for HTTP and websocket requests

FieldValue
Usage--rpc-bind-address <rpc-bind-address>
RequiredNo
ValueYes
Value namerpc-bind-address
Default value0.0.0.0:8080

rpc-threads

Number of worker threads used by the RPC HTTP server.

Defaults to the detected CPU parallelism.

FieldValue
Usage--rpc-threads <rpc-threads>
RequiredNo
ValueYes
Value namerpc-threads
Default value32

rpc-notify-events-concurrency

Maximum number of concurrent RPC event notification tasks.

Defaults to the detected CPU parallelism. Set to 0 to remove the concurrency limit.

FieldValue
Usage--rpc-notify-events-concurrency <rpc-notify-events-concurrency>
RequiredNo
ValueYes
Value namerpc-notify-events-concurrency
Default value32

rpc-json-rpc-batch-limit

Maximum number of calls accepted in one JSON-RPC batch request.

This limits large batches to reduce denial-of-service risk.

FieldValue
Usage--rpc-json-rpc-batch-limit <rpc-json-rpc-batch-limit>
RequiredNo
ValueYes
Value namerpc-json-rpc-batch-limit
Default value20

rpc-max-websocket-sessions

Maximum number of websocket sessions accepted by each RPC websocket server

FieldValue
Usage--rpc-max-websocket-sessions <rpc-max-websocket-sessions>
RequiredNo
ValueYes
Value namerpc-max-websocket-sessions
Default value1024

rpc-websocket-session-channel-size

Maximum number of outbound messages queued per websocket session

FieldValue
Usage--rpc-websocket-session-channel-size <rpc-websocket-session-channel-size>
RequiredNo
ValueYes
Value namerpc-websocket-session-channel-size
Default value256

rpc-websocket-session-work-queue-size

Maximum number of inbound RPC work items queued per websocket session

FieldValue
Usage--rpc-websocket-session-work-queue-size <rpc-websocket-session-work-queue-size>
RequiredNo
ValueYes
Value namerpc-websocket-session-work-queue-size
Default value64

rpc-cors-allowed-origins

Browser origins allowed to call the RPC server through CORS.

Leave empty to avoid adding CORS allow-origin rules.

FieldValue
Usage--rpc-cors-allowed-origins <rpc-cors-allowed-origins>
RequiredNo
ValueYes
Value namerpc-cors-allowed-origins
MultipleYes

rpc-allow-private-methods

Allow private RPC methods intended only for trusted environments.

Do not expose this on a public RPC endpoint.

FieldValue
Usage--rpc-allow-private-methods
RequiredNo
ValueNo
Value namerpc-allow-private-methods
Default valuefalse
Possible valuestrue, false

rpc-allow-contract-vm-executions

Allow RPC methods to execute the contract VM against current chain state.

Currently used by simulate_contract_invoke.

FieldValue
Usage--rpc-allow-contract-vm-executions
RequiredNo
ValueNo
Value namerpc-allow-contract-vm-executions
Default valuefalse
Possible valuestrue, false

p2p-proxy-address

Proxy address used for outbound P2P peer connections.

Also set p2p-proxy so the daemon knows which proxy protocol to use.

FieldValue
Usage--p2p-proxy-address <p2p-proxy-address>
RequiredNo
ValueYes
Value namep2p-proxy-address

p2p-proxy

Proxy protocol used for outbound P2P peer connections

FieldValue
Usage--p2p-proxy <p2p-proxy>
RequiredNo
ValueYes
Value namep2p-proxy
Possible valuessocks5, socks4

p2p-proxy-username

Username used to authenticate to the configured P2P proxy

FieldValue
Usage--p2p-proxy-username <p2p-proxy-username>
RequiredNo
ValueYes
Value namep2p-proxy-username

p2p-proxy-password

Password used to authenticate to the configured P2P proxy

FieldValue
Usage--p2p-proxy-password <p2p-proxy-password>
RequiredNo
ValueYes
Value namep2p-proxy-password

tag

Optional label advertised by this node on the P2P network

FieldValue
Usage--tag <TAG>
RequiredNo
ValueYes
Value nameTAG

p2p-bind-address

Address and port where the P2P server listens for incoming peers

FieldValue
Usage--p2p-bind-address <p2p-bind-address>
RequiredNo
ValueYes
Value namep2p-bind-address
Default value0.0.0.0:2125

max_peers

Maximum total number of connected P2P peers

FieldValue
Usage--max-peers <MAX_PEERS>
RequiredNo
ValueYes
Value nameMAX_PEERS
Default value32

p2p-max-outgoing-peers

Maximum number of outbound P2P peer connections

FieldValue
Usage--p2p-max-outgoing-peers <p2p-max-outgoing-peers>
RequiredNo
ValueYes
Value namep2p-max-outgoing-peers
Default value8

priority_nodes

Priority peer addresses to connect to when P2P starts.

Priority peers are attempted in addition to normal peer discovery and are not continuously reconnected unless they are also exclusive peers.

FieldValue
Usage--priority-nodes <PRIORITY_NODES>
RequiredNo
ValueYes
Value namePRIORITY_NODES
MultipleYes

exclusive_nodes

Exclusive peer addresses that replace normal peer discovery.

Connections to exclusive peers are maintained after disconnects. When at least one exclusive peer is configured, seed nodes and non-exclusive inbound peers are not accepted.

FieldValue
Usage--exclusive-nodes <EXCLUSIVE_NODES>
RequiredNo
ValueYes
Value nameEXCLUSIVE_NODES
MultipleYes

disable-p2p-server

Disable the P2P server.

The daemon will not accept peer connections or participate in network propagation.

FieldValue
Usage--disable-p2p-server
RequiredNo
ValueNo
Value namedisable-p2p-server
Default valuefalse
Possible valuestrue, false

allow_fast_sync

Allow fast sync from a bootstrapped chain state.

Fast sync does not store all historical blocks or transactions and does not locally verify the full history. Use only with trusted peers.

FieldValue
Usage--allow-fast-sync
RequiredNo
ValueNo
Value nameALLOW_FAST_SYNC
Default valuefalse
Possible valuestrue, false

allow_boost_sync

Allow boosted chain sync by requesting blocks in parallel.

This can improve sync speed, but requests blocks before previous blocks have been validated.

FieldValue
Usage--allow-boost-sync
RequiredNo
ValueNo
Value nameALLOW_BOOST_SYNC
Default valuefalse
Possible valuestrue, false

allow_priority_blocks

Forward blocks received from priority peers before local verification.

This reduces propagation latency for trusted priority peers, such as a pool operating several nodes in different regions.

FieldValue
Usage--allow-priority-blocks
RequiredNo
ValueNo
Value nameALLOW_PRIORITY_BLOCKS
Default valuefalse
Possible valuestrue, false

max_chain_response_size

Maximum number of blocks returned in one chain sync response.

Lower values reduce memory and bandwidth spikes. Higher values can help well-provisioned nodes sync peers faster.

FieldValue
Usage--max-chain-response-size <MAX_CHAIN_RESPONSE_SIZE>
RequiredNo
ValueYes
Value nameMAX_CHAIN_RESPONSE_SIZE
Default value4096

disable_ip_sharing

Ask peers not to share this node’s IP address.

This helps keep the node out of peer lists and RPC peer responses, but it can reduce incoming peer discovery.

FieldValue
Usage--disable-ip-sharing
RequiredNo
ValueNo
Value nameDISABLE_IP_SHARING
Default valuefalse
Possible valuestrue, false

p2p-concurrency-task-count-limit

Maximum number of concurrent tasks accepting new P2P connections

FieldValue
Usage--p2p-concurrency-task-count-limit <p2p-concurrency-task-count-limit>
RequiredNo
ValueYes
Value namep2p-concurrency-task-count-limit
Default value4

p2p-on-dh-key-change

Action to take when a peer’s stored Diffie-Hellman key changes.

By default the key change is accepted and the stored key is updated.

FieldValue
Usage--p2p-on-dh-key-change <p2p-on-dh-key-change>
RequiredNo
ValueYes
Value namep2p-on-dh-key-change
Default valueignore
Possible valueswarn, reject, ignore

p2p-dh-private-key

Static P2P Diffie-Hellman private key.

When unset, a fresh key is generated. Reusing a key preserves the same public identity across restarts and avoids peer re-verification, but it can also make the node easier to track across IP changes.

FieldValue
Usage--p2p-dh-private-key <p2p-dh-private-key>
RequiredNo
ValueYes
Value namep2p-dh-private-key

p2p-stream-concurrency

Maximum number of concurrent tasks used to process P2P streams.

Defaults to the detected CPU parallelism. Set to 0 to remove the concurrency limit.

FieldValue
Usage--p2p-stream-concurrency <p2p-stream-concurrency>
RequiredNo
ValueYes
Value namep2p-stream-concurrency
Default value32

p2p-temp-ban-duration

Duration of a temporary peer ban after the fail-count limit is reached

FieldValue
Usage--p2p-temp-ban-duration <p2p-temp-ban-duration>
RequiredNo
ValueYes
Value namep2p-temp-ban-duration
Default value15m

p2p-outgoing-connection-timeout

Timeout used when initiating outbound P2P peer connections

FieldValue
Usage--p2p-outgoing-connection-timeout <p2p-outgoing-connection-timeout>
RequiredNo
ValueYes
Value namep2p-outgoing-connection-timeout
Default value30s

p2p-fail-count-limit

Number of peer failures allowed before applying a temporary ban

FieldValue
Usage--p2p-fail-count-limit <p2p-fail-count-limit>
RequiredNo
ValueYes
Value namep2p-fail-count-limit
Default value50

disable-p2p-reexecute-blocks-on-sync

Disable re-execution of orphaned blocks during P2P chain sync.

When enabled, orphaned blocks are not removed and re-added to trigger execution again.

FieldValue
Usage--disable-p2p-reexecute-blocks-on-sync
RequiredNo
ValueNo
Value namedisable-p2p-reexecute-blocks-on-sync
Default valuefalse
Possible valuestrue, false

p2p-block-propagation-log-level

Log level used for P2P block propagation messages

FieldValue
Usage--p2p-block-propagation-log-level <p2p-block-propagation-log-level>
RequiredNo
ValueYes
Value namep2p-block-propagation-log-level
Default valuedebug
Possible valuesoff, error, warn, info, debug, trace

disable-p2p-fetching-txs-propagated

Disable fetching transactions announced through P2P propagation.

The daemon will ignore propagated transaction announcements, which can leave the mempool unsynchronized on smaller networks.

FieldValue
Usage--disable-p2p-fetching-txs-propagated
RequiredNo
ValueNo
Value namedisable-p2p-fetching-txs-propagated
Default valuefalse
Possible valuestrue, false

p2p-handle-peer-packets-in-dedicated-task

Handle eligible peer packets in dedicated tasks.

Order-dependent packets still use a sequential executor. This can reduce latency during heavy network activity, but may increase resource usage under high load.

FieldValue
Usage--p2p-handle-peer-packets-in-dedicated-task
RequiredNo
ValueNo
Value namep2p-handle-peer-packets-in-dedicated-task
Default valuefalse
Possible valuestrue, false

enable-p2p-compression

Enable Snappy compression for large P2P packets.

Only packets larger than 1 KiB are compressed. This can reduce bandwidth usage at the cost of additional CPU work.

FieldValue
Usage--enable-p2p-compression
RequiredNo
ValueNo
Value nameenable-p2p-compression
Default valuefalse
Possible valuestrue, false

disable-fast-sync-support

Disable serving fast sync data to other nodes

FieldValue
Usage--disable-fast-sync-support
RequiredNo
ValueNo
Value namedisable-fast-sync-support
Default valuefalse
Possible valuestrue, false

p2p-sync-from-priority-only

Sync chain data only from configured priority peers

FieldValue
Usage--p2p-sync-from-priority-only
RequiredNo
ValueNo
Value namep2p-sync-from-priority-only
Default valuefalse
Possible valuestrue, false

p2p-reorg-from-priority-only

During reorganizations, accept blocks only from configured priority peers

FieldValue
Usage--p2p-reorg-from-priority-only
RequiredNo
ValueNo
Value namep2p-reorg-from-priority-only
Default valuefalse
Possible valuestrue, false

min_fee_per_kb

Minimum transaction fee per kB accepted by the mempool.

The value is expressed in atomic units.

FieldValue
Usage--mempool-min-fee-per-kb <MIN_FEE_PER_KB>
RequiredNo
ValueYes
Value nameMIN_FEE_PER_KB
Default value10000

tx_expiration_time

Maximum time a transaction may stay in the mempool before expiration

FieldValue
Usage--mempool-tx-expiration-time <TX_EXPIRATION_TIME>
RequiredNo
ValueYes
Value nameTX_EXPIRATION_TIME
Default value1day

max_memory_usage

Maximum memory the mempool may use before evicting transactions.

Accepts raw bytes or human-readable values such as 800 MB or 1.5 GiB.

FieldValue
Usage--mempool-max-memory-usage <MAX_MEMORY_USAGE>
RequiredNo
ValueYes
Value nameMAX_MEMORY_USAGE
Default value800000000

dir_path

Base directory used for blockchain storage.

The network name is appended to this path. The path must end with / or \.

FieldValue
Usage--dir-path <DIR_PATH>
RequiredNo
ValueYes
Value nameDIR_PATH

simulator

Enable simulator mode with the selected simulator settings.

Simulator mode skips proof-of-work verification and generates blocks at the configured block interval.

FieldValue
Usage--simulator <SIMULATOR>
RequiredNo
ValueYes
Value nameSIMULATOR

skip_pow_verification

Skip proof-of-work verification.

This is unsafe for production nodes.

FieldValue
Usage--skip-pow-verification
RequiredNo
ValueNo
Value nameSKIP_POW_VERIFICATION
Default valuefalse
Possible valuestrue, false

enable_contracts_logging

Print contract logs while contracts execute

FieldValue
Usage--enable-contracts-logging
RequiredNo
ValueNo
Value nameENABLE_CONTRACTS_LOGGING
Default valuefalse
Possible valuestrue, false

auto_prune_keep_n_blocks

Enable automatic pruning while keeping at least this many blocks below the tip.

Pruning runs after new blocks are applied.

FieldValue
Usage--auto-prune-keep-n-blocks <AUTO_PRUNE_KEEP_N_BLOCKS>
RequiredNo
ValueYes
Value nameAUTO_PRUNE_KEEP_N_BLOCKS

skip_block_template_txs_verification

Skip transaction verification while building block templates

FieldValue
Usage--skip-block-template-txs-verification
RequiredNo
ValueNo
Value nameSKIP_BLOCK_TEMPLATE_TXS_VERIFICATION
Default valuefalse
Possible valuestrue, false

genesis_block_hex

Hex-encoded genesis block used in development networks

FieldValue
Usage--genesis-block-hex <GENESIS_BLOCK_HEX>
RequiredNo
ValueYes
Value nameGENESIS_BLOCK_HEX

checkpoints

Block hash checkpoints that prevent rewinding below known states

FieldValue
Usage--checkpoints <CHECKPOINTS>
RequiredNo
ValueYes
Value nameCHECKPOINTS
MultipleYes

txs_verification_threads_count

Number of threads used for transaction verification.

Defaults to the detected CPU parallelism. Set to 1 to run on the main verification thread.

FieldValue
Usage--txs-verification-threads-count <TXS_VERIFICATION_THREADS_COUNT>
RequiredNo
ValueYes
Value nameTXS_VERIFICATION_THREADS_COUNT
Default value32

pre_verify_block_threads_count

Number of threads used for block pre-verification.

Defaults to the detected CPU parallelism.

FieldValue
Usage--pre-verify-block-threads-count <PRE_VERIFY_BLOCK_THREADS_COUNT>
RequiredNo
ValueYes
Value namePRE_VERIFY_BLOCK_THREADS_COUNT
Default value32

check_db_integrity

Check database integrity during chain initialization.

This scans versioned data to ensure no pointer or version is above the current topoheight. It can take a long time on large databases and is skipped when recovery mode is enabled.

FieldValue
Usage--check-db-integrity
RequiredNo
ValueNo
Value nameCHECK_DB_INTEGRITY
Default valuefalse
Possible valuestrue, false

recovery_mode

Start the daemon in recovery mode.

Recovery mode skips database integrity checks and startup pre-computations such as tip difficulty and stable height.

FieldValue
Usage--recovery-mode
RequiredNo
ValueNo
Value nameRECOVERY_MODE
Default valuefalse
Possible valuestrue, false

flush_db_every_n_blocks

Flush storage to disk every N blocks, based on topoheight.

With RocksDB, this also compacts pending changes.

FieldValue
Usage--flush-db-every-n-blocks <FLUSH_DB_EVERY_N_BLOCKS>
RequiredNo
ValueYes
Value nameFLUSH_DB_EVERY_N_BLOCKS

disable_zkp_cache

Disable the transaction zero-knowledge proof cache.

The cache is enabled by default to avoid verifying the same proofs more than once.

FieldValue
Usage--disable-zkp-cache
RequiredNo
ValueNo
Value nameDISABLE_ZKP_CACHE
Default valuefalse
Possible valuestrue, false

concurrency

Maximum concurrency for general daemon tasks.

Defaults to the detected CPU parallelism.

FieldValue
Usage--concurrency <CONCURRENCY>
RequiredNo
ValueYes
Value nameCONCURRENCY
Default value32

enable_snapshot_on_reorg

Enable snapshot buffering during DAG reorganizations.

Before applying a reorg, the daemon snapshots the current state, applies the reorg through an in-memory buffer, then flushes the final state to storage.

FieldValue
Usage--enable-snapshot-on-reorg
RequiredNo
ValueNo
Value nameENABLE_SNAPSHOT_ON_REORG
Default valuefalse
Possible valuestrue, false

sled-cache-size

Set LRUCache size (0 = disabled)

FieldValue
Usage--sled-cache-size <sled-cache-size>
RequiredNo
ValueYes
Value namesled-cache-size
Default value1024

sled-internal-cache-size

DB cache size in bytes

FieldValue
Usage--sled-internal-cache-size <sled-internal-cache-size>
RequiredNo
ValueYes
Value namesled-internal-cache-size
Default value67108864

sled-internal-db-mode

Internal DB mode to use

FieldValue
Usage--sled-internal-db-mode <sled-internal-db-mode>
RequiredNo
ValueYes
Value namesled-internal-db-mode
Default valuelow-space
Possible valueshigh-throughput, low-space

rocksdb-background-threads

How many background threads RocksDB should use for parallelism. Default set to the available parallelism detected

FieldValue
Usage--rocksdb-background-threads <rocksdb-background-threads>
RequiredNo
ValueYes
Value namerocksdb-background-threads
Default value32

rocksdb-max-background-jobs

Sets maximum number of concurrent background jobs (compactions and flushes). Default set to the available parallelism detected

FieldValue
Usage--rocksdb-max-background-jobs <rocksdb-max-background-jobs>
RequiredNo
ValueYes
Value namerocksdb-max-background-jobs
Default value32

rocksdb-max-subcompaction-jobs

Sets maximum number of threads that will concurrently perform a compaction job by breaking it into multiple, smaller ones that are run simultaneously. Default set to the available parallelism detected

FieldValue
Usage--rocksdb-max-subcompaction-jobs <rocksdb-max-subcompaction-jobs>
RequiredNo
ValueYes
Value namerocksdb-max-subcompaction-jobs
Default value32

rocksdb-low-priority-background-threads

Sets the size of the low priority thread pool that can be used to prevent compactions from stalling memtable flushes. Default set to the available parallelism detected

FieldValue
Usage--rocksdb-low-priority-background-threads <rocksdb-low-priority-background-threads>
RequiredNo
ValueYes
Value namerocksdb-low-priority-background-threads
Default value32

rocksdb-max-open-files

Sets the number of open files that can be used by the DB. You may need to increase this if your database has a large working set. Value -1 means files opened are always kept open

FieldValue
Usage--rocksdb-max-open-files <rocksdb-max-open-files>
RequiredNo
ValueYes
Value namerocksdb-max-open-files
Default value256

rocksdb-keep-max-log-files

Specify the maximal number of info log files to be kept

FieldValue
Usage--rocksdb-keep-max-log-files <rocksdb-keep-max-log-files>
RequiredNo
ValueYes
Value namerocksdb-keep-max-log-files
Default value4

rocksdb-compression-mode

Compression mode to use for RocksDB

FieldValue
Usage--rocksdb-compression-mode <rocksdb-compression-mode>
RequiredNo
ValueYes
Value namerocksdb-compression-mode
Default valuesnappy
Possible valuesnone, snappy, zlib, bz2, lz4, lz4hc, zstd

rocksdb-cache-mode

RocksDB block based cache mode to use

FieldValue
Usage--rocksdb-cache-mode <rocksdb-cache-mode>
RequiredNo
ValueYes
Value namerocksdb-cache-mode
Default valuelru
Possible valuesnone, lru, hyper_clock

rocksdb-cache-size

Size in bytes for the RocksDB block based to cache use if mode is not None

FieldValue
Usage--rocksdb-cache-size <rocksdb-cache-size>
RequiredNo
ValueYes
Value namerocksdb-cache-size
Default value67108864

rocksdb-write-buffer-size

Write buffer to use for the amount of data to build up in memtables

FieldValue
Usage--rocksdb-write-buffer-size <rocksdb-write-buffer-size>
RequiredNo
ValueYes
Value namerocksdb-write-buffer-size
Default value67108864

rocksdb-write-buffer-shared

Enforces a limit for a single memtable using the above write buffer size. Disabled by default, each column will have its own buffer

FieldValue
Usage--rocksdb-write-buffer-shared
RequiredNo
ValueNo
Value namerocksdb-write-buffer-shared
Default valuefalse
Possible valuestrue, false

rocksdb-bloom-filter-bits-per-key

Bloom filter bits per key for column families that use a prefix extractor. Higher values reduce false positives but increase memory usage

FieldValue
Usage--rocksdb-bloom-filter-bits-per-key <rocksdb-bloom-filter-bits-per-key>
RequiredNo
ValueYes
Value namerocksdb-bloom-filter-bits-per-key

rocksdb-target-file-size-base

Override for target SST file size in bytes. None (default) uses the RocksDB default of 64 MiB

FieldValue
Usage--rocksdb-target-file-size-base <rocksdb-target-file-size-base>
RequiredNo
ValueYes
Value namerocksdb-target-file-size-base

rocksdb-disable-compaction-on-flush

Disable compaction on flush. This can be useful to speed up shutdown time at the cost of increased storage usage and potentially slower read performance

FieldValue
Usage--rocksdb-disable-compaction-on-flush
RequiredNo
ValueNo
Value namerocksdb-disable-compaction-on-flush
Default valuefalse
Possible valuestrue, false

use_db_backend

Storage backend used by the daemon.

Existing data is not migrated when switching backends. Select the backend that matches the data directory you intend to use.

FieldValue
Usage--use-db-backend <USE_DB_BACKEND>
RequiredNo
ValueYes
Value nameUSE_DB_BACKEND
Default valuerocksdb
Possible valuessled, rocksdb, memory

log_level

Minimum log level printed to the terminal

FieldValue
Usage--log-level <LOG_LEVEL>
RequiredNo
ValueYes
Value nameLOG_LEVEL
Default valueinfo
Possible valuesoff, error, warn, info, debug, trace

file_log_level

Minimum log level written to the log file.

Defaults to the terminal log level.

FieldValue
Usage--file-log-level <FILE_LOG_LEVEL>
RequiredNo
ValueYes
Value nameFILE_LOG_LEVEL
Possible valuesoff, error, warn, info, debug, trace

disable_file_logging

Disable writing logs to a file

FieldValue
Usage--disable-file-logging
RequiredNo
ValueNo
Value nameDISABLE_FILE_LOGGING
Default valuefalse
Possible valuestrue, false

disable_file_log_date_based

Disable date-based log filenames.

When enabled, the log file is named xelis-daemon.log instead of YYYY-MM-DD.xelis-daemon.log.

FieldValue
Usage--disable-file-log-date-based
RequiredNo
ValueNo
Value nameDISABLE_FILE_LOG_DATE_BASED
Default valuefalse
Possible valuestrue, false

disable_log_color

Disable colors in terminal logs

FieldValue
Usage--disable-log-color
RequiredNo
ValueNo
Value nameDISABLE_LOG_COLOR
Default valuefalse
Possible valuestrue, false

disable_interactive_mode

Disable the interactive terminal prompt.

CLI commands and live prompt updates are unavailable in this mode.

FieldValue
Usage--disable-interactive-mode
RequiredNo
ValueNo
Value nameDISABLE_INTERACTIVE_MODE
Default valuefalse
Possible valuestrue, false

auto_compress_logs

Compress rotated log files automatically.

This only applies when file logging is enabled.

FieldValue
Usage--auto-compress-logs
RequiredNo
ValueNo
Value nameAUTO_COMPRESS_LOGS
Default valuefalse
Possible valuestrue, false

filename_log

Log filename stored inside logs_path.

Unless date-based filenames are disabled, daily log files are named YYYY-MM-DD.xelis-daemon.log.

FieldValue
Usage--filename-log <FILENAME_LOG>
RequiredNo
ValueYes
Value nameFILENAME_LOG
Default valuexelis-daemon.log

logs_path

Directory where log files are written.

Defaults to logs/. The path must end with / or \.

FieldValue
Usage--logs-path <LOGS_PATH>
RequiredNo
ValueYes
Value nameLOGS_PATH
Default valuelogs/

logs_modules

Per-module log filters

FieldValue
Usage--logs-modules <LOGS_MODULES>
RequiredNo
ValueYes
Value nameLOGS_MODULES
MultipleYes

disable_ascii_art

Disable the ASCII art shown at startup

FieldValue
Usage--disable-ascii-art
RequiredNo
ValueNo
Value nameDISABLE_ASCII_ART
Default valuefalse
Possible valuestrue, false

datetime_format

Datetime format used in log entries

FieldValue
Usage--datetime-format <DATETIME_FORMAT>
RequiredNo
ValueYes
Value nameDATETIME_FORMAT
Default value\[%Y-%m-%d\] (%H:%M:%S%.3f)

network

Network to run and validate

FieldValue
Usage--network <NETWORK>
RequiredNo
ValueYes
Value nameNETWORK
Default valuemainnet
Possible valuesmainnet, testnet, stagenet, devnet

config_file

JSON configuration file to load

FieldValue
Usage--config-file <CONFIG_FILE>
RequiredNo
ValueYes
Value nameCONFIG_FILE

generate_config_template

Generate a configuration template at config_file

FieldValue
Usage--generate-config-template
RequiredNo
ValueNo
Value nameGENERATE_CONFIG_TEMPLATE
Default valuefalse
Possible valuestrue, false
Last updated on