### Liquid Core Daemon configuration file example

# Chain is Liquid
chain=liquidv1

# Execute command when a relevant alert is received or we see a really
# long fork (%s in cmd is replaced by message)
# alertnotify=<cmd>

# Execute command when the best block changes (%s in cmd is replaced by
# block hash)
# blocknotify=<cmd>

# If this block is in the chain assume that it and its ancestors are valid
# and potentially skip their script verification (0 to verify all,
# default: 0000000000000000000000000000000000000000000000000000000000000000)
# assumevalid=<hex>

# Specify configuration file (default: liquid.conf)
# conf=<file>

# Run in the background as a daemon and accept commands
# daemon=1

# Specify data directory
# datadir=<dir>

# Set database cache size in megabytes (4 to 16384, default: 450)
# dbcache=450

# Imports blocks from external blk000??.dat file on startup
# loadblock=<file>

# Keep at most <n> unconnectable transactions in memory (default: 100)
# maxorphantx=100

# Keep the transaction memory pool below <n> megabytes (default: 300)
# maxmempool=300

# Do not keep transactions in the mempool longer than <n> hours (default:
# 336)
# mempoolexpiry=<n>

# Extra transactions to keep in memory for compact block reconstructions
# (default: 100)
# blockreconstructionextratxn=100

# Set the number of script verification threads (-2 to 16, 0 = auto, <0 =
# leave that many cores free, default: 0)
# par=0

# Specify pid file (default: liquidd.pid)
# pid=<file>

# Reduce storage requirements by enabling pruning (deleting) of old
# blocks. This allows the pruneblockchain RPC to be called to
# delete specific blocks, and enables automatic pruning of old
# blocks if a target size in MiB is provided. This mode is
# incompatible with -txindex and -rescan. Warning: Reverting this
# setting requires re-downloading the entire blockchain. (default:
# 0 = disable pruning blocks, 1 = allow manual pruning via RPC,
# >550 = automatically prune block files to stay under the
# specified target size in MiB)
# prune=0

# Rebuild chain state from the currently indexed blocks
# reindex-chainstate

# Rebuild chain state and block index from the blk*.dat files on disk
# reindex

# Create new files with system default permissions, instead of umask 077
# (only effective with disabled wallet functionality)
# sysperms

# Maintain a full transaction index, used by the getrawtransaction rpc
# call (default: 0)
# txindex=0

### Connection options:

# Add a node to connect to and attempt to keep the connection open
# addnode=<ip>

# Threshold for disconnecting misbehaving peers (default: 100)
# banscore=<n>

# Number of seconds to keep misbehaving peers from reconnecting (default:
# 86400)
# bantime=<n>

# Bind to given address and always listen on it. Use [host]:port notation
# for IPv6
# bind=<addr>

# Connect only to the specified node(s); -noconnect or -connect=0 alone to
# disable automatic connections
# connect=<ip>

# Discover own IP addresses (default: 1 when listening and no -externalip
# or -proxy)
# discover=1

# Allow DNS lookups for -addnode, -seednode and -connect (default: 1)
# dns=1

# Query for peer addresses via DNS lookup, if low on addresses (default: 1
# unless -connect/-noconnect)
# dnsseed=1

# Specify your own public address
# externalip=<ip>

# Always query for peer addresses via DNS lookup (default: 0)
# forcednsseed=0

# Accept connections from outside (default: 1 if no -proxy or
# connect/-noconnect)
# listen=1

# Automatically create Tor hidden service (default: 1)
# listenonion=1

# Maintain at most <n> connections to peers (default: 125)
# maxconnections=125

# Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000)
# maxreceivebuffer=5000

# Maximum per-connection send buffer, <n>*1000 bytes (default: 1000)
# maxsendbuffer=1000

# Maximum allowed median peer time offset adjustment. Local perspective of
# time may be influenced by peers forward or backward by this
# amount. (default: 4200 seconds)
# maxtimeadjustment=4200

# Use separate SOCKS5 proxy to reach peers via Tor hidden services
# (default: -proxy)
# onion=<ip:port>

# Only connect to nodes in network <net> (ipv4, ipv6 or onion)
# onlynet=<net>

# Relay non-P2SH multisig (default: 1)
# permitbaremultisig=1

# Support filtering of blocks and transaction with bloom filters (default:
#0)
# peerbloomfilters=0

# Listen for connections on <port> (default: 7042)
# port=7042

# Connect through SOCKS5 proxy
# proxy=<ip:port>

# Randomize credentials for every proxy connection. This enables Tor
# tream isolation (default: 1)
# proxyrandomize=1

# Sets the serialization of raw transaction or block hex returned in
# non-verbose mode, non-segwit(0) or segwit(1) (default: 1)
# rpcserialversion=1

# Connect to a node to retrieve peer addresses, and disconnect
# seednode=<ip>

# Specify connection timeout in milliseconds (minimum: 1, default: 5000)
# timeout=5000

# Tor control port to use if onion listening enabled (default:
# 127.0.0.1:9051)
# torcontrol=127.0.0.1:9051

# Tor control port password (default: empty)
# torpassword=<pass>

# Use UPnP to map the listening port (default: 0)
# upnp=0

# Bind to given address and whitelist peers connecting to it. Use
# [host]:port notation for IPv6
# whitebind=<addr>

# Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
# CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
# times. Whitelisted peers cannot be DoS banned and their
# transactions are always relayed, even if they are already in the
# mempool, useful e.g. for a gateway
# whitelist=<IP address or network>

# Accept relayed transactions received from whitelisted peers even when
# not relaying transactions (default: 1)
# whitelistrelay=1

# Force relay of transactions from whitelisted peers even if they violate
# local relay policy (default: 1)
# whitelistforcerelay=1

# Tries to keep outbound traffic under the given target (in MiB per 24h),
# 0 = no limit (default: 0)
# maxuploadtarget=0

### Wallet options:

# Do not load the wallet and disable wallet RPC calls
# disablewallet=0

# Set key pool size to <n> (default: 100)
# keypool=100

# A fee rate (in BTC/kB) that will be used when fee estimation has
# insufficient data (default: 0.00001)
# fallbackfee=0.00001

# Fees (in BTC/kB) smaller than this are considered zero fee for
# transaction creation (default: 0.00001)
# mintxfee=0.00001

# Fee (in BTC/kB) to add to transactions you send (default: 0.00)
# paytxfee=0.00

# Rescan the block chain for missing wallet transactions on startup
# rescan=0

# Attempt to recover private keys from a corrupt wallet on startup
# salvagewallet=0

# Spend unconfirmed change when sending transactions (default: 1)
# pendzeroconfchange=0

# If paytxfee is not set, include enough fee so transactions begin
# confirmation on average within n blocks (default: 6)
# txconfirmtarget=6

# Use hierarchical deterministic key generation (HD) after BIP32. Only has
# effect during wallet creation/first start (default: 1)
# usehd=1

# Upgrade wallet to latest format on startup
# upgradewallet=0

# Specify wallet file (within data directory) (default: wallet.dat)
# wallet=<file>

# Make the wallet broadcast transactions (default: 1)
# walletbroadcast=1

# Execute command when a wallet transaction changes (%s in cmd is replaced
# by TxID)
# walletnotify=<cmd>

# Delete all wallet transactions and only recover those parts of the
# blockchain through -rescan on startup (1 = keep tx meta data e.g.
# account owner and payment request information, 2 = drop tx meta
# data)
# zapwallettxes=<mode>

### ZeroMQ notification options:

# Enable publish hash block in <address>
# zmqpubhashblock=<address>

# Enable publish hash transaction in <address>
# zmqpubhashtx=<address>

# Enable publish raw block in <address>
# zmqpubrawblock=<address>

# Enable publish raw transaction in <address>
# zmqpubrawtx=<address>

### Debugging/Testing options:

# Append comment to the user agent string
# uacomment=<cmt>

# Output debugging information (default: 0, supplying <category> is
# optional). If <category> is not supplied or if <category> = 1,
# output all debugging information.<category> can be: addrman,
# alert, bench, cmpctblock, coindb, db, http, libevent, lock,
# mempool, mempoolrej, net, proxy, prune, rand, reindex, rpc,
# electcoins, tor, zmq.
# debug=0

### Show all debugging options (usage: --help -help-debug)
# help-debug

# Include IP addresses in debug output (default: 0)
# logips=0

# Prepend debug output with timestamp (default: 1)
# logtimestamps=1

# Asset ID (hex) for mempool/relay fees (default:
# f44259d4fe4b055254b512efe86a88f44d3473039fbee77f6b21060b80c91464)
# feeasset=<hex>

# Fees (in BTC/kB) smaller than this are considered zero fee for relaying,
# mining and transaction creation (default: 0.00001)
# minrelaytxfee=0.00001

# Maximum total fees (in BTC) to use in a single wallet transaction or raw
# transaction; setting this too low may abort large transactions
# (default: 0.10)
# maxtxfee=0.10

# Send trace/debug info to console instead of debug.log file
# printtoconsole=0

# Shrink debug.log file on client startup (default: 1 when no -debug)
# shrinkdebugfile=1

### Chain selection options:

# Use the chain <chain> (default: liquidregtest). Anything except main is
# allowed
# chain=<chain>

### Node relay options:

# Equivalent bytes per sigop in transactions for relay and mining
# (default: 20)
# bytespersigop=20

### Relay and mine data carrier transactions (default: 1)
# datacarrier=1

# Maximum size of data in data carrier transactions we relay and mine
# (default: 83)
# datacarriersize=83

### Block creation options:

# Set maximum BIP141 block weight (default: 4000000)
# blockmaxweight=4000000

# Set maximum block size in bytes (default: 1000000)
# blockmaxsize=1000000

# Set maximum size of high-priority/low-fee transactions in bytes
# (default: 200000)
# blockprioritysize=200000

# Set lowest fee rate (in BTC/kB) for transactions to be included in block
# creation. (default: 0.00001)
# blockmintxfee=0.00001

### RPC server options:

# Accept command line and JSON-RPC commands
# server=1

# Accept public REST requests (default: 0)
# rest=0

# Bind to given address to listen for JSON-RPC connections. Use
# [host]:port notation for IPv6. This option can be specified
# multiple times (default: bind to all interfaces)
# rpcbind=<addr>

# Location of the auth cookie (default: data dir)
# rpccookiefile=<loc>

# Username for JSON-RPC connections
# rpcuser=<user>

# Password for JSON-RPC connections
# rpcpassword=<pw>

# Username and hashed password for JSON-RPC connections. The field
# <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
# canonical python script is included in share/rpcuser. The client
# then connects normally using the
# rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
# option can be specified multiple times
# rpcauth=<userpw>

# Listen for JSON-RPC connections on <port> (default: 8332)
# rpcport=8332

# Allow JSON-RPC connections from specified source. Valid for <ip> are a
# single IP (e.g. 1.2.3.4), a network/netmask (e.g.
# 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This
# option can be specified multiple times
# rpcallowip=<ip>

# Set the number of threads to service RPC calls (default: 4)
# rpcthreads=4

### Federated peg options:

# Validate pegin claims. All functionaries must run this. (default: 1)
# validatepegin=1

# The address which the daemon will try to connect to validate peg-ins, if
# enabled. (default: cookie auth)
# mainchainrpchost=<addr>

# The port which the daemon will try to connect to validate peg-ins, if
# enabled. (default: cookie auth)
# mainchainrpcport=<port>

# The rpc username that the daemon will use to connect to validate
# peg-ins, if enabled. (default: cookie auth)
# mainchainrpcuser=<username>

# The rpc password which the daemon will use to connect to validate
# peg-ins, if enabled. (default: cookie auth)
# mainchainrpcpassword=<password>

# The bitcoind cookie auth path which the daemon will use to connect to
# validate peg-ins, if enabled. (default: default bitcoind datadir)
# mainchainrpccookiefile=<path>

