Configuration
You will have to open your operating system's command-line interface (CLI) in the folder where the executable is located.
Daemon
Run ./xelis_daemon --help
to see all available options.
Network
Network selected by default is mainnet.
Available values are mainnet
, testnet
and dev
.
Example: ./xelis_daemon --network testnet
.
Boost Sync Mode
Boost sync mode is a faster way to sync the full blockchain. It is not enabled by default as it require more resources usage. It is requesting blocks during chain syncronization in parallel.
To enable it, use: ./xelis_daemon --allow-boost-sync
.
Fast Sync Mode
Fast sync mode allows to have a faster syncronization by downloading the last chain state from any peer.
It allows to have a light node and with a really small disk usage as it's using only latest available data.
To enable it, use: ./xelis_daemon --allow-fast-sync
.
Auto Pruning
Enable the auto prune mode and prune the chain at each new block by keeping at least N blocks before the top block. This is useful to keep a light node and to reduce the disk usage.
Example to keep only 1000 latest blocks: ./xelis_daemon --auto-prune-keep-n-blocks 1000
.
Cache Size
Set the cache size by setting how many elements to keep in memory. Higher cache size will require more memory but can be useful for chain operations.
Default is set to 1024 elements. If you set it to 0, it will disable the cache and will not keep any.
Example to set the cache size to 1000: ./xelis_daemon --cache-size 1000
.
Disable P2P Server
Disable the P2P server, this will disable the node to be connected to other nodes and will not be able to sync the chain or broadcast mined blocks.
To disable the P2P Server, use: ./xelis_daemon --disable-p2p-server
.
P2p Bind Address
Set the bind address to use for the P2P server. By default, the bind address is set to 0.0.0.0:2125
.
To set the bind address to 0.0.0.0:2126
, use: ./xelis_daemon --p2p-bind-address 0.0.0.0:2126
.
Max Peers
Set the maximum number of P2P peers to connect to.
By default, the maximum number of peers is set to 32.
To set the maximum number of peers to 64, use: ./xelis_daemon --max-peers 64
.
Exclusive Nodes
Set the exclusive nodes to connect to. This will only connect to the given nodes and will not connect to any other nodes.
Each Socket Address must be separated by a comma.
Example to connect to two nodes: ./xelis_daemon --exclusive-nodes 0.0.0.0:2125,0.0.0.0:2126
.
Priority Nodes
Set the priority nodes to connect to. This will connect to the given nodes first and then will connect to other nodes.
Connections to priority nodes will be also maintained in case of disconnection.
Each Socket Address must be separated by a comma.
Other nodes will still be connected to as long as the maximum number of peers is not reached.
Example to connect to two nodes: ./xelis_daemon --priority-nodes 0.0.0.0:2125,0.0.0.0:2126
Tag
Set the tag to use for the node. This is useful to identify the node in the network. Maximum length is 16 characters.
Example to set the tag to mytag
: ./xelis_daemon --tag mytag
.
Maximum Chain Response Size
Configure the maximum chain response size This is useful for low devices who want to reduce resources usage And for high-end devices who want to (or help others to) sync faster.
By default, the maximum chain response size is set to 4096.
Minimum value is 512 and maximum value is 16384.
This is used to notify others nodes about the maximum size of the chain response that you accept to receive / send per request. It can speedup the syncronization process by allowing to send more data at once.
Example to set the maximum chain response size to 8192: ./xelis_daemon --max-chain-response-size 8192
.
Disable IP Sharing
Ask peers to not share our IP to others and/or through API.
This is useful for people that don't want that their IP is revealed in RPC API and/or shared to others nodes as a potential new peer to connect to.
By default, your IP is allowed to be shared across the network to others nodes.
To enable it, use: ./xelis_daemon --disable-ip-sharing
.
Please note that it may prevent to have new incoming peers as your IP will not be shared to others.
Disable File Logging
By default, the daemon is logging to a file. To disable it, use: ./xelis_daemon --disable-file-logging
.
Filename Log
Set the filename to use for logging. By default, the filename is set to xelis-daemon.log
.
Every logs file are stored in the logs
folder and are named with the date of the day.
To set the filename to mylog.log
, use: ./xelis_daemon --filename-log mylog.log
.
Logs Dir Path
Set a custom directory path to store the logs files.
By default it will be logs/
of the current directory.
To set the directory path to mylogs/
, use: ./xelis_daemon --logs-path mylogs/
.
NOTE: The directory will be created using the provided path if not existing and must ends with a /
.
Log Level
Set the log level to use. Available values are trace
, debug
, info
, warning
, error
.
By default, the log level is set to info
.
Example to set the log level to debug: ./xelis_daemon --log-level debug
.
Disable GetWork Server
Disable the GetWork server, this will disable the HTTP server running above the RPC Server and will prevent any miner to connect and receive new jobs.
To disable the GetWork server, use: ./xelis_daemon --disable-getwork-server
.
RPC Bind Address
Set the bind address to use for the RPC server. By default, the bind address is set to 0.0.0.0:8080
.
To set the bind address to 0.0.0.0:8081
, use: ./xelis_daemon --rpc-bind-address 0.0.0.0:8081
.
Dir Path
Set the directory path to use for the database and the blockchain. By default, the directory path is set to the name of the network at the same location of the executable.
To set the directory path to mydir
, use: ./xelis_daemon --dir-path mydir
.
Simulator
Enable the simulator mode. This will disable the P2P server and will simulate the blockchain based on its variant. This will generate new blocks when necessary and will not connect to any other nodes.
Availables values are:
blockchain
: to simulate the blockchain with a new block every 15 seconds and up to 15 random transactions.blockdag
: to simulate the blockdag with up to 3 new block every 15 seconds and up to 15 random transactions.stress
: to simulate a blockDAG under attacks with heavy blocks and a lot of transactions.
To enable the stress
simulator mode, use: ./xelis_daemon --simulator stress
.
Version
Print the version of the daemon.
To print the version, use: ./xelis_daemon --version
.
Wallet
Run ./xelis_wallet --help
to see all available options.
Daemon Address
Set the daemon address to use for the wallet. This is the address of the daemon to connect to.
By default, the daemon address is set to 127.0.0.1:8080
to connect to your local node.
To set the daemon address to http://127.0.0.1:8081
, use: ./xelis_wallet --daemon-address http://127.0.0.1:8081
.
Enable XSWD
Enable the XSWD mode. This will enable the wallet to use the XSWD protocol to communicate with any applications securely.
By default, the XSWD mode is disabled.
To enable the XSWD mode, use: ./xelis_wallet --enable-xswd
.
Wallet Path
Set the wallet path to use for the wallet.
To use the wallet file mywallet
, use: ./xelis_wallet --wallet-path mywallet
.
If not specified, wallet is created in wallets/
folder of the current directory with its name.
Password
Set the password to use for the wallet file.
To use the password mypassword
, use: ./xelis_wallet --password mypassword
.
Seed
Set the seed to use for the wallet file.
This is useful to recover a wallet from a seed.
To use the seed myseed myseed
, use: ./xelis_wallet --seed "myseed myseed"
.
Offline Mode
Enable the offline mode. This will disable the wallet to connect to the daemon and will not be able to send transactions.
By default, the wallet open in online mode and try to connect to the daemon.
To enable the offline mode, use: ./xelis_wallet --offline-mode
.
RPC Bind Address
Set the bind address to use for the RPC server. By default, the bind address is set to 127.0.0.1:8080
.
To set the bind address to 127.0.0.1:8081
, use: ./xelis_wallet --rpc-bind-address 127.0.0.1:8081
.
RPC Password
Set the password to use for the RPC server. By default, no password is set.
In case you set a username, the password is mandatory.
To set the password to mypassword
, use: ./xelis_wallet --rpc-password mypassword
.
RPC Username
Set the username to use for the RPC server.
In case you set a password, the username is mandatory.
To set the username to myusername
, use: ./xelis_wallet --rpc-username myusername
.
Disable File Logging
By default, the daemon is logging to a file. To disable it, use: ./xelis_wallet --disable-file-logging
.
Filename Log
Set the filename to use for logging. By default, the filename is set to xelis-wallet.log
.
Every logs file are stored in the logs
folder and are named with the date of the day.
To set the filename to mylog.log
, use: ./xelis_wallet --filename-log mylog.log
.
Logs Dir Path
Set a custom directory path to store the logs files.
By default it will be logs/
of the current directory.
To set the directory path to mylogs/
, use: ./xelis_wallet --logs-path mylogs/
.
NOTE: The directory will be created using the provided path if not existing and must ends with a /
.
Log Level
Set the log level to use. Available values are trace
, debug
, info
, warning
, error
.
By default, the log level is set to info
.
Example to set the log level to debug: ./xelis_wallet --log-level debug
.
Version
Print the version of the miner.
To print the version, use: ./xelis_wallet --version
.
Miner
Run ./xelis_miner --help
to see all available options.
Miner Address
Set the miner address to use for the miner. This is the address that will be used to find blocks and earn rewards.
This is a mandatory option.
Example: ./xelis_miner --miner-address <YOUR_ADDRESS>
.
Daemon Address
Set the daemon address to which you want to connect.
By default, it is set to 127.0.0.1:8080
to connect automatically to your local node.
If you want to connect to another node (domain or ip:port format), use: ./xelis_miner --daemon-address testnet-node.xelis.io
.
Benchmark
Enable the benchmark mode. This will run the miner without submitting any block and will print the hashrate of the miner.
To enable the benchmark mode, use: ./xelis_miner --benchmark
.
In case you want to changes the numbers of iterations to use for the benchmark, use: ./xelis_miner --benchmark --iterations 100
.
Numbers of Threads
Set the numbers of threads to use for the miner. By default, the numbers of threads is set to the number of logical cores of the CPU.
Minimum is 1 and maximum is 255.
Example to set the numbers of threads to 4: ./xelis_miner --num-threads 4
.
Worker
Set the worker name to use for the miner. This is useful to identify the miner in the daemon.
Default is set to default
.
Example to set the worker name to myworker
: ./xelis_miner --worker myworker
.
Disable File Logging
By default, the daemon is logging to a file. To disable it, use: ./xelis_miner --disable-file-logging
.
Filename Log
Set the filename to use for logging. By default, the filename is set to xelis-miner.log
.
Every logs file are stored in the logs
folder and are named with the date of the day.
To set the filename to mylog.log
, use: ./xelis_miner --filename-log mylog.log
.
Logs Dir Path
Set a custom directory path to store the logs files.
By default it will be logs/
of the current directory.
To set the directory path to mylogs/
, use: ./xelis_miner --logs-path mylogs/
.
NOTE: The directory will be created using the provided path if not existing and must ends with a /
.
Log Level
Set the log level to use. Available values are trace
, debug
, info
, warning
, error
.
By default, the log level is set to info
.
Example to set the log level to debug: ./xelis_miner --log-level debug
.
Version
Print the version of the miner.
To print the version, use: ./xelis_miner --version
.