The QRL node can be configured in multiple ways to utilize various features in different ways. You may have some specific requirements for running behind a firewall or other edge cases.
To accommodate this, QRL uses a configuration file found in the root qrl directory ~/.qrl/config.yml
this file contains all of the directives available to the user. You will find these configuration options as the default settings, commented out.
For a great guide on .yml file layouts see this YAML to JSON Cheat sheet
Grab a copy of the file here https://docs.theqrl.org/node/config.yml. Also shown at the bottom of this page.
Configuration Directives
Below are all of the options, with explanations. You will find the config file has some comments, we explain in more detail here.
Mining Configuration
This section covers all of the required settings needed to setup and mine QRL on a local node.
Mining
Directive |
Default Value |
Description |
mining_enabled |
false |
Allows the QRL node to mine blocks on the network |
mining_address |
|
Address of the wallet to mine to (where mined coins wil go) |
mining_thread_count |
0 |
0 to auto detect thread count based on CPU/GPU number of processors |
Ephemeral Configuration
Ephemeral messaging configuration details are shown below.
Ephemeral
Directive |
Default Value |
Description |
accept_ephemeral |
true |
|
outgoing_message_expiry |
90 |
|
Cache Size
Directive |
Default Value |
Description |
lru_state_cache_size |
10 |
|
max_state_limit |
10 |
|
P2P Configuration
Directive |
Default Value |
Description |
enable_peer_discovery |
true |
Allows to discover new peers from the connected peers |
|
|
|
p2p_local_port |
19000 |
Locally binded port at which node will listen for connection |
p2p_public_port |
19000 |
Public port forwarding connections to server |
peer_rate_limit |
500 |
Max Number of messages per minute per peer |
ban_minutes |
20 |
Allows to ban a peer’s IP who is breaking protocol |
monitor_connections_interval |
30 |
Monitor connection every 30 seconds |
max_peers_limit |
100 |
Number of allowed peers |
chain_state_timeout |
180 |
|
chain_state_broadcast_period |
180 |
must be less than ping_timeout |
transaction_pool_size |
25000 |
|
pending_transaction_pool_size |
75000 |
1% of the pending_transaction_pool will be reserved for moving stale txn |
stale_transaction_threshold |
15 |
15 blocks |
peer_list:
List of available peers with open public API ports
- 35.178.79.137
- 35.177.182.85
- 18.130.119.29
- 18.130.25.64
ntp_servers:
List of NTP servers for the node to use
- pool.ntp.org
- ntp.ubuntu.com
ADMIN API CONFIGURATION
Directive |
Default Value |
Description |
admin_api_enabled |
false |
|
admin_api_host |
127.0.0.1 |
|
admin_api_port |
19008 |
|
admin_api_threads |
1 |
|
admin_api_max_concurrent_rpc |
|
|
PUBLIC API CONFIGURATION
Directive |
Default Value |
Description |
public_api_enabled |
true |
|
public_api_host |
0.0.0.0 |
|
public_api_port |
19009 |
|
public_api_threads |
1 |
|
public_api_max_concurrent_rpc |
|
|
MINING API CONFIGURATION
Directive |
Default Value |
Description |
mining_api_enabled |
false |
|
mining_api_host |
127.0.0.1 |
|
mining_api_port |
19007 |
|
mining_api_threads |
1 |
|
mining_api_max_concurrent_rpc |
100 |
|
DEBUG API CONFIGURATION
Directive |
Default Value |
Description |
debug_api_enabled |
false |
|
debug_api_host |
127.0.0.1 |
|
debug_api_port |
52134 |
|
debug_api_threads |
1 |
|
debug_api_max_concurrent_rpc |
100 |
|
GRPC PROXY CONFIGURATION
Directive |
Default Value |
Description |
grpc_proxy_host |
127.0.0.1 |
|
grpc_proxy_port |
18090 |
|
p2p_q_size |
10000 |
|
outgoing_message_expiry |
90 |
Outgoing message expires after 90 seconds |
WALLET DAEMON CONFIGURATION
Directive |
Default Value |
Description |
public_api_server |
127.0.0.1:19009 |
|
wallet_daemon_host |
127.0.0.1 |
|
wallet_daemon_port |
18091 |
|
WALLET API CONFIGURATION
Directive |
Default Value |
Description |
wallet_api_host |
127.0.0.1 |
|
wallet_api_port |
19010 |
|
wallet_api_threads |
1 |
|
wallet_api_max_concurrent_rpc |
100 |
|
Config.yml
## qrl conf.yml file
##
## This is the configuration file for qrl.
## It is typically found in the ~/.qrl/ directory
## Default settings are shown below.
## All commands begin with single(#)
## Uncomment and adjust to suit your needs
##
##======================================
## Mining Configuration
##======================================
# mining_enabled: False
# mining_address: ''
# mining_thread_count: 0 # 0 to auto detect thread count based on CPU/GPU number of processors
#
##======================================
## Ephemeral Configuration
##======================================
# accept_ephemeral: True
# Cache Size
# lru_state_cache_size: 10
# max_state_limit: 10
#
##======================================
## PEER Configuration
##======================================
# max_redundant_connections: 5 # Number of connections allowed from nodes having same IP
# enable_peer_discovery: True # Allows to discover new peers from the connected peers
# peer_list:
# - 35.178.79.137
# - 35.177.182.85
# - 18.130.119.29
# - 18.130.25.64
# p2p_local_port: 19000
# p2p_public_port: 19000
# peer_rate_limit: 500 # Max Number of messages per minute per peer
# p2p_q_size: 10000
# outgoing_message_expiry: 90 # Outgoing message expires after 90 seconds
# ntp_servers:
# - pool.ntp.org
# - ntp.ubuntu.com
# ntp_refresh: 12 * 60 * 60 # 12 hours
# ntp_request_timeout: 10 # 10 seconds ntp timeout
# ban_minutes: 20 # Allows to ban a peer's IP who is breaking protocol
# monitor_connections_interval: 30
# max_peers_limit: 100 # Number of allowed peers
# chain_state_timeout: 180
# chain_state_broadcast_period: 30 # must be less than ping_timeout
# transaction_minimum_fee: 1000000000
# transaction_pool_size: 25000
# pending_transaction_pool_size: 75000
# pending_transaction_pool_reserve: 75
# stale_transaction_threshold: 15 # 15 Blocks
# _qrl_dir: "~/.qrl"
#
##======================================
## ADMIN API CONFIGURATION
##======================================
# admin_api_enabled: False
# admin_api_host: "127.0.0.1"
# admin_api_port: 19008
# admin_api_threads: 1
# admin_api_max_concurrent_rpc: 100
#
##======================================
## PUBLIC API CONFIGURATION
##======================================
# public_api_enabled: True
# public_api_host: "127.0.0.1"
# public_api_port: 19009
# public_api_threads: 1
# public_api_max_concurrent_rpc: 100
#
##======================================
## MINING API CONFIGURATION
##======================================
# mining_api_enabled: False
# mining_api_host: "127.0.0.1"
# mining_api_port: 19007
# mining_api_threads: 1
# mining_api_max_concurrent_rpc: 100
#
##======================================
## DEBUG API CONFIGURATION
##======================================
# debug_api_enabled: False
# debug_api_host: "127.0.0.1"
# debug_api_port: 52134
# debug_api_threads: 1
# debug_api_max_concurrent_rpc: 100
#
##======================================
## GRPC PROXY CONFIGURATION
##======================================
# grpc_proxy_host: "127.0.0.1"
# grpc_proxy_port: 18090
#
##======================================
## WALLET DAEMON CONFIGURATION
##======================================
# public_api_server: "127.0.0.1:19009"
# wallet_daemon_host: "127.0.0.1"
# wallet_daemon_port: 18091
# number_of_slaves: 3
#
##======================================
## WALLET API CONFIGURATION
##======================================
# wallet_api_host: "127.0.0.1"
# wallet_api_port: 19010
# wallet_api_threads: 1
# wallet_api_max_concurrent_rpc: 100
#
#