diff --git a/sample-lnd.conf b/sample-lnd.conf index 2eb0b6bd..b92f8b76 100644 --- a/sample-lnd.conf +++ b/sample-lnd.conf @@ -26,7 +26,6 @@ ; it hasn't yet received a response. ; acceptortimeout=15s - ; Path to TLS certificate for lnd's RPC and REST services. ; tlscertpath=~/.lnd/tls.cert @@ -41,11 +40,27 @@ ; (old tls files must be deleted if changed) ; tlsextradomain= +; If set, then all certs will automatically be refreshed if they're close to +; expiring, or if any parameters related to extra IPs or domains in the cert +; change. +; tlsautorefresh=true + +; A list of domains for lnd to periodically resolve, and advertise the resolved +; IPs for the backing node. This is useful for users that only have a dynamic IP, +; or want to expose the node at a domain. +; externalhosts=my-node-domain.com + ; Disable macaroon authentication. Macaroons are used are bearer credentials to ; authenticate all RPC access. If one wishes to opt out of macaroons, uncomment ; the line below. ; no-macaroons=true +; Enable free list syncing for the default bbolt database. This will increase +; start up time, but can result in performance degradation for very large +; databases, and also result in higher memory usage. If "free list corruption" +; is detected, then this flag may resolve things. +; sync-freelist=true + ; Path to write the admin macaroon for lnd's RPC and REST services if it ; doesn't exist. This can be set if one wishes to store the admin macaroon in a ; distinct location. By default, it is stored within lnd's network directory. @@ -66,6 +81,12 @@ ; write access to all invoice related RPCs. ; invoicemacaroonpath=~/.lnd/data/chain/bitcoin/simnet/invoice.macaroon +; A period to wait before for closing channels with outgoing htlcs that have +; timed out and are a result of this nodes instead payment. In addition to our +; current block based deadline, is specified this grace period will also be taken +; into account. +; payments-expiration-grace-period=30 + ; Specify the interfaces to listen on for p2p connections. One listen ; address per line. @@ -99,6 +120,10 @@ ; On an Unix socket: ; restlisten=unix:///var/run/lnd-restlistener.sock +; A series of domains to allow cross origin access from. This controls the CORs +; policy of the REST RPC proxy. +; restcors=https://my-special-site.com + ; Adding an external IP will advertise your node to the network. This signals ; that your node is available to accept incoming channels. If you don't wish to @@ -146,6 +171,92 @@ ; channels smaller than this will be rejected, default value 20000. ; minchansize= +; The duration that a peer connection must be stable before attempting to send a +; channel update to reenable or cancel a pending disables of the peer's channels +; on the network. (default: 19m0s) +; chan-enable-timeout=22m + +; The duration that must elapse after first detecting that an already active +; channel is actually inactive and sending channel update disabling it to the +; network. The pending disable can be canceled if the peer reconnects and becomes +; stable for chan-enable-timeout before the disable update is sent. +; (default: 20m0s) +; chan-disable-timeout=22m + +; The polling interval between attempts to detect if an active channel has become +; inactive due to its peer going offline. (default: 1m0s) +; chan-status-sample-interval=2m + +; Disable queries from the height-hint cache to try to recover channels stuck in +; the pending close state. Disabling height hint queries may cause longer chain +; rescans, resulting in a performance hit. Unset this after channels are unstuck +; so you can get better performance again. +; height-hint-cache-query-disable=true + +; The polling interval between historical graph sync attempts. Each historical +; graph sync attempt ensures we reconcile with the remote peer's graph from the +; genesis block. (default: 1h0m0s) +; historicalsyncinterval=2h + +; If true, will not reply with historical data that matches the range specified +; by a remote peer's gossip_timestamp_filter. Doing so will result in lower +; memory and bandwidth requirements. +; ignore-historical-gossip-filters=true + +; If true, lnd will not accept channel opening requests with non-zero push +; amounts. This should prevent accidental pushes to merchant nodes. +; rejectpush=true + +; If true, lnd will not forward any HTLCs that are meant as onward payments. This +; option will still allow lnd to send HTLCs and receive HTLCs but lnd won't be +; used as a hop. +; rejecthtlc=true + +; If true, will apply a randomized staggering between 0s and 30s when +; reconnecting to persistent peers on startup. The first 10 reconnections will be +; attempted instantly, regardless of the flag's value +; stagger-initial-reconnect=true + +; The maximum number of blocks funds could be locked up for when forwarding +; payments. (default: 2016) +; max-cltv-expiry=2016 + +; The maximum percentage of total funds that can be allocated to a channel's +; commitment fee. This only applies for the initiator of the channel. Valid +; values are within [0.1, 1]. (default: 0.5) +; max-channel-fee-allocation=0.9 + +; If true, lnd will abort committing a migration if it would otherwise have been +; successful. This leaves the database unmodified, and still compatible with the +; previously active version of lnd. +; dry-run-migration=true + +; If true, option upfront shutdown script will be enabled. If peers that we open +; channels with support this feature, we will automatically set the script to +; which cooperative closes should be paid out to on channel open. This offers the +; partial protection of a channel peer disconnecting from us if cooperative +; close is attempted with a different script. +; enable-upfront-shutdown=true + +; If true, spontaneous payments through keysend will be accepted. [experimental] +; accept-keysend=true + +; If non-zero, keysend payments are accepted but not immediately settled. If the +; payment isn't settled manually after the specified time, it is canceled +; automatically. [experimental] +; keysend-hold-time=true + +; If true, our node will allow htlc forwards that arrive and depart on the same +; channel. +; allow-circular-route=true + +; Time in milliseconds between each release of announcements to the network +; trickledelay=180000 + +; The number of peers that we should receive new graph updates from. This option +; can be tuned to save bandwidth for light clients or routing nodes. (default: 3) +; numgraphsyncpeers=9 + ; The alias your node will use, which can be up to 32 UTF-8 characters in ; length. ; alias=My Lightning ☇ @@ -339,7 +450,32 @@ litecoin.node=ltcd ; amount of attempted channels will still respect the maxchannels param. ; autopilot.allocation=0.6 +; Heuristic to activate, and the weight to give it during scoring. (default: +; {preferential:1}) +; autopilot.heuristic={topk_centrality:1} + +; The smallest channel that the autopilot agent should create (default: 20000) +; autopilot.minchansize=20000 + +; The largest channel that the autopilot agent should create (default: 16777215) +; autopilot.maxchansize=20000 + +; Whether the channels created by the autopilot agent should be private or not. +; Private channels won't be announced to the network. +; autopilot.private=true + +; The minimum number of confirmations each of your inputs in funding transactions +; created by the autopilot agent must have. (default: 1) +; autopilot.minconfs=2 + +; The confirmation target (in blocks) for channels opened by autopilot. (default: +; 3) +; autopilot.conftarget=2 + [tor] +; Allow outbound and inbound connections to be routed through Tor +; tor.active + ; The port that Tor's exposed SOCKS5 proxy is listening on. Using Tor allows ; outbound-only connections (listening will be disabled) -- NOTE port must be ; between 1024 and 65535 @@ -356,6 +492,35 @@ litecoin.node=ltcd ; in with lnd's traffic. ; tor.streamisolation=true + +; Enable Tor stream isolation by randomizing user credentials for each +; connection. +; tor.streamisolation=true + +; The host:port that Tor is listening on for Tor control connections (default: +; localhost:9051) +; tor.control=localhost:9091 + +; IP address that Tor should use as the target of the hidden service +; tor.targetipaddress= + +; The password used to arrive at the HashedControlPassword for the control port. +; If provided, the HASHEDPASSWORD authentication method will be used instead of +; the SAFECOOKIE one. +; tor.password=plsdonthackme + +; Automatically set up a v2 onion service to listen for inbound connections +; tor.v2=true + +; Automatically set up a v3 onion service to listen for inbound connections +; tor.v3=true + +; The path to the private key of the onion service being created +; tor.privatekeypath=/path/to/torkey + +;The path to the private key of the watchtower onion service being created +; tor.watchtowerkeypath=/other/path/ + [watchtower] ; Enable integrated watchtower listening on :9911 by default. ; watchtower.active=true @@ -436,3 +601,94 @@ litecoin.node=ltcd ; The amount of time we should wait between disk space health checks. This ; value must be >= 1m. ; healthcheck.diskspace.interval=6h + +[routerrpc] +; Minimum required route success probability to attempt the payment (default: +; 0.01) +; routerrpc.minrtprob=1 + +; Assumed success probability of a hop in a route when no other information is +; available. (default: 0.6) +; routerrpc.apriorihopprob=0.2 + +; Weight of the a priori probability in success probability estimation. Valid +; values are in [0, 1]. (default: 0.5) +; routerrpc.aprioriweight=0.3 + +; Defines the duration after which a penalized node or channel is back at 50% +; probability (default: 1h0m0s) +; routerrpc.penaltyhalflife=2h + +; The (virtual) cost in sats of a failed payment attempt (default: 100) +; routerrpc.attemptcost=90 + +; The maximum number of payment results that are held on disk by mission control +; (default: 1000) +; routerrpc.maxmchistory=900 + +; Path to the router macaroon +; routerrpc.routermacaroonpath= + +[workers] +; Maximum number of concurrent read pool workers. This number should be +; proportional to the number of peers. (default: 100) +; workers.read=200 + +; Maximum number of concurrent write pool workers. This number should be +; proportional to the number of CPUs on the host. (default: 8) +; workers.write=8 + +; Maximum number of concurrent sig pool workers. This number should be +; proportional to the number of CPUs on the host. (default: 8) +; workers.sig=4 + +[caches] + +; Maximum number of entries contained in the reject cache, which is used to speed +; up filtering of new channel announcements and channel updates from peers. Each +; entry requires 25 bytes. (default: 50000) +; caches.reject-cache-size=900000 + +; Maximum number of entries contained in the channel cache, which is used to +; reduce memory allocations from gossip queries from peers. Each entry requires +; roughly 2Kb. (default: 20000) +; caches.channel-cache-size=9000000 + +[protocol] +; If set, then lnd will create and accept requests for channels larger than 0.16 +; BTC +; protocol.wumbo-channels=true + +; Set to enable experimental support for anchor commitments, won't work with watchtowers yet. +; protocol.anchors=true + +[db] +; The selected database backend. The current default backend is "bolt". lnd +; also has experimental support for etcd, a replicated backend. +; db.backend=bolt + +[etcd] +; Etcd database host. +; db.etcd.host=localhost:2379 + +; Etcd database user. +; db.etcd.user=userscopedforlnd + +; Password for the database user. +; db.etcd.pass=longandsekrit + +; Path to the TLS certificate for etcd RPC. +; db.etcd.cert_file=/key/path + +; Path to the TLS private key for etcd RPC. +; db.etcd.key_file=/a/path + +; Whether we intend to skip TLS verification +; db.etcd.insecure_skip_verify=true + +; Whether to collect etcd commit stats. +; db.etcd.collect_stats=true + +[bolt] +; If true, prevents the database from syncing its freelist to disk. +; db.bolt.nofreelistsync=1