################################################################################
# Copyright © 2013-2016 The Nxt Core Developers.                               #
# Copyright © 2016-2020 Jelurida IP B.V.                                       #
#                                                                              #
# See the LICENSE.txt file at the top-level directory of this distribution     #
# for licensing information.                                                   #
#                                                                              #
# Unless otherwise agreed in a custom licensing agreement with Jelurida B.V.,  #
# no part of the Nxt software, including this file, may be copied, modified,   #
# propagated, or distributed except according to the terms contained in the    #
# LICENSE.txt file.                                                            #
#                                                                              #
# Removal or modification of this copyright notice is prohibited.              #
#                                                                              #
################################################################################

# Do not modify this file. Instead, create a nxt.properties file with only the
# properties you need to change, and set them there. The values in 
# nxt.properties override those in nxt-default.properties.



#### SYSTEM ####

# Set the socks proxy host.
#socksProxyHost=localhost

# Set the socks proxy port.
#socksProxyPort=9050



#### PEER NETWORKING ####

# Announce my IP address/hostname to peers and allow them to share it with other
# peers. If disabled, peer networking servlet will not be started at all.
nxt.shareMyAddress=true

# Port for incoming peer to peer networking requests, if enabled.
nxt.peerServerPort=7874

# Enable UPnP for the peer port.
nxt.enablePeerUPnP=true

# UPnP gateway http read timeout, milliseconds. Set to -1 to disable.
# Default 7000 if not set.
#nxt.upnpGatewayTimeout=7000

# UPnP gateway socket connection timeout, milliseconds. Set to -1 to disable.
# Default 3000 if not set.
#nxt.upnpDiscoverTimeout=3000

# Host interface on which to listen for peer networking requests, default all.
# Use 0.0.0.0 to listen on all interfaces, including IPv6.
nxt.peerServerHost=0.0.0.0

# My externally visible IP address or host name, to be announced to peers.
# It can optionally include a port number, which will also be announced to
# peers, and may be different from nxt.peerServerPort (useful if you do port
# forwarding behind a router).
nxt.myAddress=

# My platform, to be announced to peers.
nxt.myPlatform=

# My hallmark, if available.
nxt.myHallmark=

# Default initial peers. Only used if nxt.usePeersDb=true.
# Do not modify. Add custom peers to nxt.wellKnownPeers instead.
nxt.defaultPeers=134.122.115.195; 167.71.65.95; 167.99.7.117; 3.93.56.119; \
  31.42.188.109; 199.188.203.38; 157.245.84.39; nxt.blockfrikis.com; \
  161.35.108.129; 104.248.227.252; nxtx.ru; 35.175.183.39; 3.91.153.196; \
  31.42.188.138; 31.42.188.137; 31.42.188.139; 31.42.188.134; 31.42.188.133; \
  31.42.188.136; 31.42.188.135; 35.192.182.180; 54.236.230.115; \
  34.229.173.197; 35.233.238.252; 54.173.76.102; 185.181.164.16; \
  185.181.164.17; 95.217.218.99; 173.82.252.166; 128.199.187.58; \
  51.158.165.219; 185.181.164.49; 54.89.196.199; 167.172.132.80; \
  34.64.133.123; 88.99.35.204; 185.181.164.50; 167.172.122.45; \
  35.206.143.115; 157.245.5.38; 3.89.224.89; 37.17.232.124; 35.190.157.70; \
  95.216.203.193; 161.35.59.195; 217.182.72.43; 198.211.31.216; \
  18.208.224.64; 34.64.127.166; 80.241.219.227; 64.227.73.222; \
  78.46.225.87; jill.airdns.org:17874; 67.207.86.76; 167.172.226.23; \
  3.80.80.33; 134.122.107.111; 18.212.80.146; ardor2.sharedledger.net; \
  54.147.45.10; 128.0.187.174; 157.245.115.53; 167.172.238.109; \
  18.215.156.155; 142.44.212.178; 52.252.2.105; 174.138.32.119; \
  165.22.207.152; 34.71.199.245; 37.59.11.219; 35.188.140.56; \
  ardor6.sharedledger.net; 167.172.137.6; 176.9.164.18; 176.9.164.19; \
  34.67.188.179; 34.82.128.255; ardor3.sharedledger.net; 211.200.193.103; \
  18.207.128.88; 176.9.164.29; 176.9.164.28; 54.242.209.168; 176.9.164.25; \
  176.9.164.24; 176.9.164.27; 176.9.164.26; 176.9.164.21; 54.173.14.167; \
  176.9.164.20; 176.9.164.23; 176.9.164.22; 161.35.55.61; 161.35.55.60; \
  134.209.242.250; 34.64.241.103; 176.9.164.30; 164.132.196.63; 167.71.3.53; \
  134.209.40.238; 95.217.214.185; 116.203.128.226; 165.227.205.34; \
  134.122.116.177; 31.42.188.58; 3.91.154.13; 3.80.109.116; 3.80.88.107; \
  testnxt.jelurida.com; 54.234.100.31; 161.35.55.63; 3.89.29.209; \
  217.61.3.40; 144.217.162.55; 68.183.20.216; 24.211.232.121; 31.42.188.55; \
  31.42.188.57; 31.42.188.56; 193.187.175.137; 134.122.117.111; \
  54.160.121.86; 88.99.15.111; 134.122.114.33; 110.11.76.41; 34.67.42.219; \
  34.228.6.106; 167.172.58.54; 51.15.118.192; 164.132.99.1; 157.245.253.144; \
  107.21.74.35; 218.39.9.35; 78.90.104.195; 54.227.24.145; 1.252.232.234; \
  167.172.234.10; 54.234.44.48; 3.80.128.72; 52.251.60.16; 167.99.147.203; \
  hwg.duckdns.org; 134.122.67.222; 165.227.204.82; 49.12.97.111; 89.40.0.68; \
  35.175.189.147; 34.229.174.228; 34.228.140.237; 185.143.145.77; \
  54.221.122.97; 167.172.235.209; 142.93.61.220; 206.189.182.147; \
  54.242.119.185; nxt3.cryptoticino.ch; servidor.servebeer.com; 54.226.33.53; \
  161.35.58.55; 18.212.96.84; 40.84.36.142; 54.235.26.123; 165.22.193.201; \
  198.12.104.198; 136.243.179.19; 136.243.179.18; 34.83.13.149; \
  66.152.176.31; 104.155.172.21; 136.243.179.25; 136.243.179.24; \
  136.243.179.23; 136.243.179.22; 45.76.34.68; 136.243.179.21; \
  136.243.179.20; 3.80.90.96; 84.75.98.31; 51.15.85.60; 76.186.123.57; \
  35.232.234.128; 69.55.49.76; ardor7.sharedledger.net; \
  nxt.crypto.sargue.net; 176.123.4.157; 110.8.38.44; 95.216.204.173; \
  enricoip.no-ip.biz; 52.201.243.174; 34.64.87.19; nxt8.cryptoticino.ch; \
  ardor1.sharedledger.net; nxt2.cryptoticino.ch; 104.248.63.187; \
  3.91.70.157; 3.134.253.106; 34.228.74.72; 161.35.106.21; 54.165.94.38; \
  34.207.187.35; 167.172.136.32; 34.71.187.138; 75.134.189.42; \
  35.193.27.120; 161.35.104.76; 34.204.47.219; 51.175.20.87; 86.17.121.86; \
  146.185.148.175; 34.203.245.47; 64.227.7.142; 67.207.90.146; 66.152.176.27; \
  134.209.196.147; 14.5.49.208; 34.71.166.22; 31.42.190.81; 31.42.190.80; \
  35.247.187.229; 31.42.190.74; 54.83.120.12; 31.42.190.73; 31.42.190.72; \
  31.42.190.71; 31.42.190.78; 31.42.190.77; 31.42.190.76; 31.42.190.75; \
  34.226.195.134; 31.42.190.79; 150.136.137.192; ardor4.sharedledger.net; \
  167.172.226.190; nxt1.cryptoticino.ch; 35.192.98.195; 14.4.83.15; \
  31.42.190.70; 31.42.190.63; 31.42.190.62; 31.42.190.67; 31.42.190.66; \
  31.42.190.65; 31.42.190.64; nxt4.cryptoticino.ch; 31.42.190.69; \
  31.42.190.68; nxt7.cryptoticino.ch; 157.245.85.12; 54.227.192.244; \
  157.245.84.143; 31.42.190.52; 31.42.190.51; 31.42.190.56; 31.42.190.55; \
  nxtnode002.ddnss.eu; 35.192.150.110; 31.42.190.54; 31.42.190.53; \
  31.42.190.57; 54.204.117.27; 54.221.9.182; 79.84.114.36; 35.223.187.189; \
  52.90.220.65; 185.181.165.18; 49.142.48.63; 157.230.20.203; 54.234.174.57; \
  54.160.237.141; 161.35.63.238; jacktherouter.mooo.com; 77.81.230.151; \
  35.203.178.188; 144.217.5.225; 51.15.83.176; 34.74.168.241; 67.205.129.100; \
  185.181.165.28; 34.229.14.102; 14.56.34.142; 167.99.232.73; nxt5.y.cz; \
  183.99.132.156; 161.35.98.45; 34.228.53.178; 3.94.190.146; 35.175.188.133; \
  68.183.20.153; 95.217.212.49; 68.183.20.156; 35.232.164.219; 68.183.20.159; \
  167.172.147.181; 52.91.225.206; 51.15.90.165; 54.221.26.107; 3.85.202.80; \
  31.16.39.221; 193.187.175.193; 51.158.111.167; 34.207.243.196; 34.74.29.255; \
  nxt.jelurida.com; 54.235.52.50; 54.226.55.212; 59.115.135.137; \
  209.222.98.250; 104.209.134.57; 31.42.190.30; 142.44.224.1; 185.158.251.40; \
  34.224.82.56; 54.163.16.145; 35.239.0.74; 54.197.133.22; 34.228.69.57; \
  31.42.190.26; 31.42.190.25; 31.42.190.24; 35.230.72.48; 31.42.190.29; \
  34.83.127.250; 31.42.190.28; 18.213.2.90; 159.65.139.22; 137.116.89.200; \
  3.80.51.219; 34.207.113.92; 95.217.163.170; 35.185.78.251; 3.87.95.81; \
  161.35.56.33; 95.216.187.83; 54.83.124.55; 54.242.129.218; 54.82.12.40; \
  142.93.249.10; 52.90.251.48; 51.15.86.125; 46.4.123.114; 118.223.0.147; \
  52.200.147.155; 34.65.103.219; 87.121.37.156; 51.158.162.201; \
  104.248.143.160; 198.211.20.119; 198.211.20.117; 95.217.184.122; \
  nxt.kanzen.pw; 54.163.193.165; 188.166.109.46; 185.253.218.164; \
  116.124.242.151; 3.80.68.93; 157.245.79.38; 211.107.95.205; \
  nxt-xzc.blockfrikis.com; 51.15.62.202; vps815626.ovh.net; 54.242.102.244; \
  54.209.204.244; gtwins.f3322.net; 18.215.151.22; 95.217.129.114; \
  35.237.166.46; 52.251.53.131; 134.209.81.121; 35.172.183.54; 34.64.225.219; \
  185.253.217.161; 185.253.217.162; 91.158.119.97; 107.21.2.155; \
  68.183.53.87; 185.253.217.160; 3.91.255.39; ardor5.sharedledger.net; \
  3.93.185.47; 185.253.217.158; 185.253.217.159; 38.87.54.163; 54.89.134.215; \
  185.253.217.150; nxtnode003.ddnss.eu; 185.253.217.151; 185.253.217.152; \
  185.253.217.153; 185.253.217.154; 185.253.217.155; 185.253.217.156; \
  54.166.234.0; 185.253.217.157; nxt6.cryptoticino.ch; 167.172.194.209; \
  185.253.217.147; 185.253.217.148; 185.253.217.149; 52.167.41.180; \
  52.90.2.218; 104.196.205.37; 94.176.233.169; 31.42.188.182; \
  157.245.243.176; 182.208.16.194; 163.172.146.45; 195.123.214.240; \
  118.223.32.121; 116.203.237.75; 54.147.223.5; 18.212.252.54; \
  35.237.229.122; 159.89.232.110; 72.44.65.243; 118.31.7.151; 212.237.9.9; \
  34.64.231.188; 54.89.73.100; 3.87.94.166; 35.231.190.101; 31.42.188.159; \
  nxt5.cryptoticino.ch; nxt.sharedledger.net; 31.42.188.155; 31.42.188.158; \
  31.42.188.157; 185.253.217.99; 31.42.188.153; 185.253.217.90; 54.164.48.62; \
  176.31.120.213; 18.234.238.103; 31.42.188.149; 31.42.188.148; \
  31.42.188.145; 31.42.188.144; 31.42.188.147; 31.42.188.146; 31.42.188.141; \
  31.42.188.140; 31.42.188.143; 31.42.188.142; 157.245.142.104; 161.35.59.97; \
  3.93.199.45; 35.173.136.235; 51.158.161.6; 134.209.45.240; 49.50.173.11; \
  134.209.40.38; ncnode.prao.ru; 121.131.245.205; 198.187.30.54; \
  95.217.166.238; 185.253.217.84; 185.253.217.85; 185.253.217.86; \
  185.253.217.87; 185.253.217.88; 31.42.188.163; 185.253.217.89; \
  31.42.188.162; 31.42.188.165; 31.42.188.164; 31.42.188.161; 31.42.188.160; \
  185.253.217.80; 185.253.217.81; 18.212.236.110; 185.253.217.82; 185.253.217.83;

# A list of well known peer addresses / host names, separated by '; '. These
# peers are always kept in connected state.
nxt.wellKnownPeers=

# Known bad peers to be blacklisted.
nxt.knownBlacklistedPeers=

# Default initial peers used for testnet only. Only used if nxt.usePeersDb=true.
# Do not modify. Add custom testnet peers to nxt.testnetPeers instead.
nxt.defaultTestnetPeers=104.248.143.160; nxt.jelurida.com; \
  nxt.testnet.crypto.sargue.net; testnxt.jelurida.com; 156.253.13.79; \
  enricoip.no-ip.biz; 185.158.251.40; 38.87.54.163;

# Well known testnet peers.
nxt.testnetPeers=

nxt.proxyBootstrapNodes=nxt.jelurida.com;

nxt.testnetProxyBootstrapNodes=testnxt.jelurida.com;

# Maximum number of inbound connections.
nxt.maxNumberOfInboundConnections=2000

# Maximum number of outbound connections.
nxt.maxNumberOfOutboundConnections=50

# Maintain active connections with at least that many peers.
nxt.maxNumberOfConnectedPublicPeers=20

# Stop adding new peers when number of known peers exceeds that many.
nxt.maxNumberOfKnownPeers=2000

# Stop removing old peers when number of known peers drops below that many.
nxt.minNumberOfKnownPeers=1000

# Peer networking connect timeout for outgoing connections.
nxt.connectTimeout=10000

# Peer networking read timeout for outgoing connections.
nxt.readTimeout=20000

# Peer networking server idle timeout, milliseconds.
nxt.peerServerIdleTimeout=30000

# Use WebSocket connection if supported by the remote peer.
nxt.useWebSockets=true

# WebSocket connection idle timeout (milliseconds).
nxt.webSocketIdleTimeout=900000

# Use the peer hallmark to only connect with peers above the defined push/pull
# hallmark thresholds.
# Disabling hallmark protection also disables weighting of peers by hallmark
# weight, so connecting to any of your peers becomes equally likely.
nxt.enableHallmarkProtection=true

# Hallmark threshold to use when sending data to peers.
nxt.pushThreshold=0

# Hallmark threshold to use when requesting data from peers.
nxt.pullThreshold=0

# Blacklist peers for 600000 milliseconds (i.e. 10 minutes by default).
nxt.blacklistingPeriod=600000

# Consider a new transaction or block sent after 10 peers have received it.
nxt.sendToPeersLimit=10

# Enable the Jetty Denial of Service Filter for the peer networking server.
nxt.enablePeerServerDoSFilter=true

# Compress Http responses for the peer networking server.
nxt.enablePeerServerGZIPFilter=true

# Use testnet, leave set to false unless you are really testing.
# Never unlock your real accounts on testnet! Use separate accounts for testing
# only.
# When using testnet, all custom port settings will be ignored,
# and hardcoded ports of 6874 (peer networking), 6875 (UI) and 6876 (API) will
# be used.
nxt.isTestnet=false

# Save known peers in the database
nxt.savePeers=true

# Set to false to disable use of the peers database and the default initial
# peers. This will not delete saved peers.
nxt.usePeersDb=true

# Set to false to disable getting more peers from the currently connected peers.
# Only useful when debugging and want to limit the peers to those in peersDb or
# wellKnownPeers.
nxt.getMorePeers=true

# Set to true to run offline - do not connect to peers and do not listen for
# incoming peer connections. This is equivalent to setting
# nxt.shareMyAddress=false, nxt.wellKnownPeers=, nxt.testnetPeers= 
# and nxt.usePeersDb=false, and if set to true overrides those properties.
nxt.isOffline=false

# Ignore peer announced addresses. Do not change unless you understand what it
# does.
nxt.ignorePeerAnnouncedAddress=false

# Only allow peer addresses starting with "fc". This is for users of cjdns only,
# do not set if you don't know what that is.
nxt.cjdnsOnly=false

# Do not include exception details when returning error response to peers.
nxt.hideErrorDetails=false



#### API SERVER ####

# Accept http/json API requests.
nxt.enableAPIServer=true

# Hosts from which to allow http/json API requests, if enabled. Set to * to
# allow all. Can also specify networks in CIDR notation, e.g. 192.168.1.0/24.
nxt.allowedBotHosts=127.0.0.1; localhost; [0:0:0:0:0:0:0:1];

# Port for http/json API requests.
nxt.apiServerPort=7876

# Port for https/json API request. If same as nxt.apiServerPort, the nxt.apiSSL
# setting determines whether SSL is used or not.
nxt.apiServerSSLPort=7876

# Enable UPnP for the API ports.
nxt.enableAPIUPnP=false

# Host interface on which to listen for http/json API request, default localhost
# only. Set to 0.0.0.0 to allow the API server to accept requests from all
# network interfaces, including IPv6.
nxt.apiServerHost=127.0.0.1

# Idle timeout for http/json API request connections, milliseconds.
nxt.apiServerIdleTimeout=30000

# Directory with html and javascript files for the new client UI, and admin
# tools utilizing the http/json API.
nxt.apiResourceBase=./html/www

# Default page for the API server.
nxt.apiWelcomeFile=index.html

# Java API documentation directory, optional.
nxt.javadocResourceBase=./html/doc

# Enable Cross Origin Filter for the API server.
nxt.apiServerCORS=true

# Add X-Frame-Options SAMEORIGIN header to every response as a protection
# against clickjacking.
nxt.apiFrameOptionsSameOrigin=true

# Enable SSL for the API server (also need to set nxt.keyStorePath and
# nxt.keyStorePassword).
# Non-SSL connections will be disabled if nxt.apiServerSSLPort is equal to
# nxt.apiServerPort.
# Otherwise, both SSL and non-SSL connections will be accepted.
nxt.apiSSL=false

# Enabled cipher suites for the API server when SSL is enabled. The list below
# is an example to use for choosing AES-GCM instead of AES-CBC, not the default.
#nxt.apiSSLCiphers=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384; \
#  TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256; \
#  TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384; \
#  TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256;

# Enforce requests that require POST to only be accepted when submitted as POST.
nxt.apiServerEnforcePOST=true

# Compress Http responses for the API server. If not set, enabled for openAPI
# nodes only.
#nxt.enableAPIServerGZIPFilter=false

# Password that should be provided when executing protected (administrative) API
# requests.
# Please choose a decent password here. Preferably, use a password generator.
# Password protection is disabled and password is not needed when the API server
# only listens on the localhost interface, i.e. when 
# nxt.apiServerHost=127.0.0.1.
nxt.adminPassword=

# Set to true to disable the password protection for admin API requests even
# when API server is publicly accessible. Not recommended.
nxt.disableAdminPassword=false

# The maximum number of records possible to retrieve with a single request. This
# restriction is not enforced if the admin password is provided, or is not
# needed (disabled or listening on localhost only).
nxt.maxAPIRecords=100

# API event registration timeout (seconds). The timeout is reset each time an
# event wait request is received from the application. The minimum value is 15
# seconds.
nxt.apiEventTimeout=300

# Maximum number of applications with active event registrations.
nxt.apiMaxEventUsers=32

# Maximum file size accepted for upload, in bytes. Default and minimum value
# accepted is 43008 (42 kbytes).
#nxt.maxUploadFileSize=0

# If an unsigned transaction is submitted with insufficient fee, set the fee to
# the minimum fee calculated for this transaction instead, as if feeNQT=0 has
# been specified. Default is false.
nxt.correctInvalidFees=false

# APIs to disable, as a semicolon separated list.
nxt.disabledAPIs=

# Groups of APIs to disable, as a semicolon separated list of API tag names.
nxt.disabledAPITags=

# Enables the API proxy. Requests are forwarded to a randomly chosen peer
# providing openAPI service. Outgoing transactions are signed locally - the
# secret phrase is never sent to the remote peer.
# Used by light clients or when the blockchain is not yet downloaded.
# For openAPI nodes, the API proxy remains disabled, ignoring this setting.
# For light clients, the API proxy is always enabled, ignoring this setting.
nxt.enableAPIProxy=true

# Operate as light client. Blockchain is not downloaded and processed, instead
# the API proxy is used (see nxt.enableAPIProxy).
# Light clients are not advertised as providing openAPI service even if they do
# have their API publicly accessible.
nxt.isLightClient=false

# If set, all requests will be forwarded to the specified openAPI peer
nxt.forceAPIProxyServerURL=

# The period remote API servers are blacklisted when not functioning (in seconds).
# The API proxy blacklisting mechanism is in addition to the peers blacklisting
# - if a peer is blacklisted, it won't be used by the proxy, but it is possible
# that a peer is online and correctly functioning, and only its open API is
# blocked (e.g. by firewall).
nxt.apiProxyBlacklistingPeriod=7200

# When the API server is running behind a proxy, use this header to obtain the
# remote host for which the API request was forwarded. Currently only used for
# keeping track of and blacklisting hosts that try to brute force the API admin
# password.
#nxt.forwardedForHeader=X-Forwarded-For

# Fixes the Content-Type header of the API responses to be application/json
# instead of text/plain. Default is text/plain for compatibility reasons.
nxt.apiFixResponseContentType=false


#### OLD NRS USER INTERFACE ####

# Enable the deprecated NRS user interface.
nxt.enableUIServer=false

# Hosts from which to allow NRS user interface requests, if enabled. Set to * to
# allow all.
nxt.allowedUserHosts=127.0.0.1; localhost; [0:0:0:0:0:0:0:1];

# Port for NRS user interface server.
nxt.uiServerPort=7875

# Host interface for NRS user interface server, default localhost only.
# Set to 0.0.0.0 to allow the UI to be accessed on all network interfaces.
nxt.uiServerHost=127.0.0.1

# Idle timeout for NRS user interface server, milliseconds.
nxt.uiServerIdleTimeout=30000

# Directory with html and javascript files for the NRS client user interface.
nxt.uiResourceBase=html/nrs

# Enable Cross Origin Filter for NRS user interface server.
nxt.uiServerCORS=false

# Enable SSL for the NRS user interface (also need to set nxt.keyStorePath and
# nxt.keyStorePassword).
nxt.uiSSL=false

# Enforce requests that require POST to only be accepted when submitted as POST.
nxt.uiServerEnforcePOST=true

# Allows custom setup to be performed on the API handlers before the server
# is started. An implementation of nxt.http.CustomAPISetup
nxt.apiCustomSetupImpl=


#### DEBUGGING ####

# Log file, will be overwritten at every restart.
#nxt.log=nxt.log
# The log file is now specified in logging.properties.

# Enable debug log output.
#nxt.debug=false
# Debug logging is now specified in logging properties.

# Include caller traceback in log messages.
nxt.enableLogTraceback=false

# Enable logging of exception stack traces.
nxt.enableStackTraces=true

# Enable logging of Jetty messages.
#nxt.debugJetty=false
# Jetty logging is now specified in logging properties.

# Used for debugging peer to peer communications.
nxt.communicationLoggingMask=0

# Track balances of the following accounts and related events for debugging
# purposes.
nxt.debugTraceAccounts=

# File name for logging tracked account balances.
nxt.debugTraceLog=nxt-trace.csv

# Separator character for trace log.
nxt.debugTraceSeparator=\t

# Quote character for trace log.
nxt.debugTraceQuote="

# Log changes to unconfirmed balances.
nxt.debugLogUnconfirmed=false

# Log account balance calculations for FXT snapshot for the following account.
#nxt.logFxtBalance=NXT-RRCQ-N5SL-UX37-G9Y9W



#### DATABASE ####

# Database connection JDBC url, see the H2 documentation for possible
# customizations.
# Append ;AUTO_SERVER=TRUE to enable automatic mixed mode access.
# The nxt_db folder is expected to be in the current working directory, will be
# created if missing.
# nxt.dbUrl=jdbc:h2:./nxt_db/nxt;DB_CLOSE_ON_EXIT=FALSE

# Database connection JDBC url to use with the test network, if isTestnet=true.
# nxt.testDbUrl=jdbc:h2:./nxt_test_db/nxt;DB_CLOSE_ON_EXIT=FALSE

nxt.dbType=h2
nxt.testDbType=h2

nxt.dbDir=./nxt_db/nxt
nxt.testDbDir=./nxt_test_db/nxt

nxt.dbParams=DB_CLOSE_ON_EXIT=FALSE
nxt.testDbParams=DB_CLOSE_ON_EXIT=FALSE

nxt.dbUsername=sa
nxt.testDbUsername=sa

nxt.dbPassword=sa
nxt.testDbPassword=sa

# Database connection timeout in seconds.
nxt.dbLoginTimeout=70

# Database default lock timeout in seconds.
nxt.dbDefaultLockTimeout=60

# Database max memory rows limit.
nxt.dbMaxMemoryRows=1000000

# Connection pool implementation. Defaults to the JdbcConnectionPool in H2
nxt.connectionPoolImpl=nxt.db.pool.H2ConnectionPool

# Maximum simultaneous database connections.
nxt.maxDbConnections=30

# The memory allocated to database cache, in kB.
# If set to 0, the cache size varies from a minimum of 16MB for heap sizes 160MB
# or less, to a maximum of 256MB for heap sizes 640MB or higher.
nxt.dbCacheKB=0

# Enable trimming of derived objects tables. Disabling this will significantly
# worsen performance.
nxt.trimDerivedTables=true

# If trimming is enabled, maintain enough previous height records to allow
# rollback of at least that many blocks. Cannot be set to less than 720.
# After increasing this value, a full re-scan also needs to be done in order for
# the previously trimmed records to be re-created and preserved.
nxt.maxRollback=800

# When trimming is enabled, it is run every nxt.trimFrequency blocks.
nxt.trimFrequency=1000

# Per-table multiplier of the trim frequency. Trimming more rarely is useful for
# tables that have many records but don't change often
nxt.trimFrequencyMultiplier.public_key=5
nxt.trimFrequencyMultiplier.alias=5

# Override the lifetime of prunable data to keep them longer, value in seconds.
# Set to -1 to disable pruning. Has no effect if set to less then the minimum
# required lifetime of two weeks (1209600 seconds) on mainnet, or 24 hours
# (86400 seconds) on testnet. Default is 90 days.
nxt.maxPrunableLifetime=7776000

# Include expired prunable parts if requested as long as it is still available.
# In order to provide the PRUNABLE peer service, nxt.maxPrunableLifetime must
# be -1 and nxt.includeExpiredPrunable must be true.  The PRUNABLE service means
# the peer will provide expired prunable data to other peers when requested.
nxt.includeExpiredPrunable=true

# Threshold for logging database statements (milliseconds).
nxt.statementLogThreshold=10000

# Threshold for logging database transactions (milliseconds).
nxt.transactionLogThreshold=15000

# Log the average transaction time after this many minutes.
nxt.transactionLogInterval=15

# Public keys are by default cached, which consumes 10-15 MB of memory.
nxt.enablePublicKeyCache=true

# When trimming or pruning derived tables, do a commit after that many records
# are processed. Default if not set is Integer.MAX_VALUE which prevents such
# intermediate commits.
nxt.batchCommitSize=100



#### Blocks and transactions ####

# Delay generation of next block in order to accumulate more transactions in it.
# Waiting for much more than 15 s is not useful as transactions are allowed at
# most 15 s timestamp difference from the block they can be included in.
nxt.forgingDelay=20

# Generate and submit the next block before its hit time in response to
# receiving a lower difficulty block. Submitting the block more than 15 s before
# its time however will lead to its rejection.
nxt.forgingSpeedup=3

# Maximum number of forging accounts allowed on this node.
nxt.maxNumberOfForgers=100

# Verify batches of blocks downloaded from a single peer with that many other
# peers.
nxt.numberOfForkConfirmations=2
nxt.testnetNumberOfForkConfirmations=1

# Enable re-broadcasting of new transactions until they are received back from
# at least one peer, or found in the blockchain. This feature can optionally be
# disabled, to avoid the risk of revealing that this node is the submitter of
# such re-broadcasted new transactions.
nxt.enableTransactionRebroadcasting=true

# Do not allow the number of unconfirmed transactions in memory to exceed this
# value. If exceeded, the same transaction ordering as when choosing which
# transactions to include in a forged block is used to decide which to keep in
# the unconfirmed pool.
# Set to 0 or negative for no limit.
nxt.maxUnconfirmedTransactions=2000

# Maximum number of account monitors allowed on this node
nxt.maxNumberOfMonitors=100



#### DESKTOP WALLET ####

# When using desktop mode and when user interface is available. Launch the
# wallet inside a desktop frame when the node is started.
nxt.launchDesktopApplication=true

# The default account is used, to automatically login to the wallet during
# startup.
nxt.defaultDesktopAccount=



#### ACCOUNT LEDGER ####

# Address of accounts (in RS format) to track balance changes in the ledger
# table, separated by ';'.
# Set to * to track changes for all accounts. Specify no accounts to disable
# the account ledger.
nxt.ledgerAccounts=*

# Specify 0 to not log unconfirmed changes, 1 to log unconfirmed changes or 2 to
# log only unconfirmed changes.
nxt.ledgerLogUnconfirmed=2

# Specify the number of blocks to keep when trimming the account ledger table.
# A value of zero will cause all blocks to be kept.
nxt.ledgerTrimKeep=30000



#### VOTING SYSTEM ####

# If disabled, polls are not processed at finish height and results are not
# stored in the database. When requested, poll results will be calculated
# on-the-fly, if the votes are still available.
nxt.processPolls=true

# Delete votes for finished polls when trimming the votes table.
nxt.deleteProcessedVotes=true



#### MINT ####

# Address of the NXT server to which the mint worker submits its transactions
# (default: localhost).
nxt.mint.serverAddress=

# Use Https when connecting to the server. Note that mint worker accepts any SSL
# certificate as valid, without checking hostname or certificate authority,
# therefore this will not protect you against a man-in-the-middle attack when
# submitting mint transactions.
nxt.mint.useHttps=false

# Specify a mintable currency code.
nxt.mint.currencyCode=

# Secret phrase for the minting account, this secret phrase is sent to the host
# specified by nxt.mint.serverAddress therefore do not specify secret phrase of
# an account with lots of funds.
nxt.mint.secretPhrase=

# Number of units to mint per transaction.
# The minting difficulty grows linearly with the number of units per mint.
nxt.mint.unitsPerMint=1

# The initial nonce used for minting.
# Set to 0 to start with a random nonce.
nxt.mint.initialNonce=0

# Number of concurrency threads used for minting.
# Set to 0 allocate one thread per processor core.
nxt.mint.threadPoolSize=0

# When set to false mint transactions are not submitted when a hash is solved.
# Set this value to true to perform actual minting.
nxt.mint.isSubmitted=false

# When set to false the mint worker will resume operation even in case a mint
# transaction has returned an error response.
nxt.mint.stopOnError=false



#### Passphrase Recovery Utility ####

# Specify the approximate passphrase that you remember
# recoveryWildcard=hope peac* happen *ouch easy pretend worthless talk them indeed wheel state

# Specify the positions inside the passphrase in which you like to try various options
# The first character position is 1
# recoveryPositions=10,19

# Specify the possible values to use for replacing the unknown positions, unicode characters
# can be specified using the \u notation
# recoveryDictionary=t\u2019ne



#### Shuffling ####

# Delete finished shufflings and their participants. When enabled, records of
# completed shufflings and their participants are deleted after the shuffling
# has finished, which will improve performance by keeping their tables smaller.
nxt.deleteFinishedShufflings=false

# Use strong secure random implementation. As this can block on unix systems,
# it is disabled by default. Enable only if using haveged or other entropy
# source that makes reading from /dev/random fast, otherwise server-side
# encryption will be unusably slow and cause coin shufflings to fail.
nxt.useStrongSecureRandom=false

# Maximum number of shufflers allowed to run at the same time on this node.
nxt.maxNumberOfShufflers=100



#### JETTY ####

# Settings for the Jetty Denial Of Service Filter, used for the peer networking
# server only.
nxt.peerServerDoSFilter.maxRequestsPerSec=30
nxt.peerServerDoSFilter.delayMs=1000
nxt.peerServerDoSFilter.maxRequestMs=300000

# keystore file and password, required if uiSSL or apiSSL are enabled.
nxt.keyStorePath=keystore
nxt.keyStorePassword=password

# keystore type defaults to JKS can be changed to PKCS12.
nxt.keyStoreType=JKS



#### Processes ####

nxt.addons.EncryptedConfig.path=conf/processes/



#### Developers only ####

# Force re-validation of blocks and transaction at start.
nxt.forceValidate=false

# Force re-build of derived objects tables at start.
nxt.forceScan=false

# Scale epoch time for faster forging. Only works when offline.
# nxt.timeMultiplier=1

# Enable the following AddOns, which must also be on the classpath, e.g. placed
# in the addons/classes or addons/lib directory. List of class names, separated
# by semicolon. If full package name is not specified, the add-on is assumed to
# be in the nxt.addons package; if it is not, the full java package name should
# be used.
#nxt.addOns=ForgingEncryptedConfig;FundingMonitorsEncryptedConfig

# Demo after start and before shutdown scripts
#nxt.afterStartScript=../bin/afterStart.sh
#nxt.beforeShutdownScript=../bin/beforeShutdown.sh

# NRS normally sets a customized security policy when AddOns are used.
# Set to true to use the default security manager when AddOns are used.
nxt.disableSecurityPolicy=false

# Display a custom warning text on the login screen in the client UI.
#nxt.customLoginWarning=

# Do not compact the database on shutdown. Should only disable compact when
# faster restarts during testing are needed.
nxt.disableCompactOnShutdown=false

# Full text search is a functionality used in several modules. It should be disabled only because the
# underlying Apache Lucene library is not ported for Android.
# Disabling the full text search will cause several features to not work properly
nxt.disableFullTextSearch=false

# Disables the metadata detection on platforms where Apache Tika is not ported.
# Currently true on Android
nxt.disableMetadataDetection=false

# Stop downloading the blockchain and disconnect networking after reaching
# this height.
#nxt.stopDownloadHeight=0

# NRS version.
nxt.version=1.12.2

