-
Notifications
You must be signed in to change notification settings - Fork 2.1k
/
sample-lnd.conf
1922 lines (1523 loc) · 70.3 KB
/
sample-lnd.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
; Example configuration for lnd.
;
; The default location for this file is in ~/.lnd/lnd.conf on POSIX OSes,
; $LOCALAPPDATA/Lnd/lnd.conf on Windows,
; ~/Library/Application Support/Lnd/lnd.conf on Mac OS and $home/lnd/lnd.conf on
; Plan9.
; The default location of this file can be overwritten by specifying the
; --configfile= flag when starting lnd.
;
; boolean values can be specified as true/false or 1/0. Per default
; booleans are always set to false.
; If only one value is specified for an option, then this is also the
; default value used by lnd. In case of multiple (example) values, the default
; is explicitly mentioned.
; If the part after the equal sign is empty then lnd has no default
; for this option.
[Application Options]
; The directory that lnd stores all wallet, chain, and channel related data
; within The default is ~/.lnd/data on POSIX OSes, $LOCALAPPDATA/Lnd/data on
; Windows, ~/Library/Application Support/Lnd/data on Mac OS, and $home/lnd/data
; on Plan9. Environment variables are expanded so they may be used. NOTE:
; Windows environment variables are typically %VARIABLE%, but they must be
; accessed with $VARIABLE here. Also, ~ is expanded to $LOCALAPPDATA on Windows.
; datadir=~/.lnd/data
; The directory that logs are stored in. The logs are auto-rotated by default.
; Rotated logs are compressed in place.
; logdir=~/.lnd/logs
; DEPRECATED: Use logging.file.max-files instead.
; Number of logfiles that the log rotation should keep. Setting it to 0 disables
; deletion of old log files.
; maxlogfiles=10
;
; DEPRECATED: Use logging.file.max-file-size instead.
; Max log file size in MB before it is rotated.
; maxlogfilesize=20
; Time after which an RPCAcceptor will time out and return false if
; it hasn't yet received a response.
; acceptortimeout=15s
; Path to TLS certificate for lnd's RPC and REST services.
; tlscertpath=~/.lnd/tls.cert
; Path to TLS private key for lnd's RPC and REST services.
; tlskeypath=~/.lnd/tls.key
; Adds an extra ip to the generated certificate. Setting multiple tlsextraip= entries is allowed.
; (old tls files must be deleted if changed)
; tlsextraip=
; Adds an extra domain to the generate certificate. Setting multiple tlsextradomain= entries is allowed.
; (old tls files must be deleted if changed)
; Default:
; tlsextradomain=
; Example: (option can be specified multiple times):
; tlsextradomain=my-node-domain.com
; 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=false
; The duration from generating the self signed certificate to the certificate
; expiry date. Valid time units are {s, m, h}.
; The below value is about 14 months (14 * 30 * 24 = 10080)
; tlscertduration=10080h
; Do not include the interface IPs or the system hostname in TLS certificate,
; use first --tlsextradomain as Common Name instead, if set.
; tlsdisableautofill=false
; If set, the TLS private key will be encrypted to the node's seed.
; tlsencryptkey=false
; 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.
; Default:
; externalhosts=
; Example (option can be specified multiple times):
; externalhosts=my-node-domain.com
; externalhosts=my-second-domain.com
; Sets the directory to store Let's Encrypt certificates within
; letsencryptdir=~/.lnd/letsencrypt
; The IP:port on which lnd will listen for Let's Encrypt challenges. Let's
; Encrypt will always try to contact on port 80. Often non-root processes are
; not allowed to bind to ports lower than 1024. This configuration option allows
; a different port to be used, but must be used in combination with port
; forwarding from port 80. This configuration can also be used to specify
; another IP address to listen on, for example an IPv6 address.
; Default:
; letsencryptlisten=:80
; Example:
; letsencryptlisten=localhost:8080
; Request a Let's Encrypt certificate for this domain. Note that the certificate
; is only requested and stored when the first rpc connection comes in.
; Default:
; letsencryptdomain=
; Example:
; letsencryptdomain=example.com
; Disable macaroon authentication. Macaroons are used as bearer credentials to
; authenticate all RPC access. If one wishes to opt out of macaroons, uncomment
; and set to true the line below.
; no-macaroons=false
; Enable free list syncing for the default bbolt database. This will decrease
; 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=false
; 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.
; Applications that are able to read this file, gain admin macaroon access.
; Default:
; adminmacaroonpath=~/.lnd/data/chain/bitcoin/${network}/admin.macaroon
; Example:
; adminmacaroonpath=~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon
; Path to write the read-only macaroon for lnd's RPC and REST services if it
; doesn't exist. This can be set if one wishes to store the read-only macaroon
; in a distinct location. The read only macaroon allows users which can read
; the file to access RPCs which don't modify the state of the daemon. By
; default, it is stored within lnd's network directory.
; Default:
; readonlymacaroonpath=~/.lnd/data/chain/bitcoin/${network}/readonly.macaroon
; Example:
; readonlymacaroonpath=~/.lnd/data/chain/bitcoin/mainnet/readonly.macaroon
; Path to write the invoice macaroon for lnd's RPC and REST services if it
; doesn't exist. This can be set if one wishes to store the invoice macaroon in
; a distinct location. By default, it is stored within lnd's network directory.
; The invoice macaroon allows users which can read the file to gain read and
; write access to all invoice related RPCs.
; Default:
; invoicemacaroonpath=~/.lnd/data/chain/bitcoin/${network}/invoice.macaroon
; Example:
; invoicemacaroonpath=~/.lnd/data/chain/bitcoin/mainnet/invoice.macaroon
; The strategy to use for selecting coins for wallet transactions. Options are
; 'largest' and 'random'.
; coin-selection-strategy=largest
; A period to wait before for closing channels with outgoing htlcs that have
; timed out and are a result of this nodes initiated payments. In addition to
; our current block based deadline, if specified this grace period will also be
; taken into account. Valid time units are {s, m, h}.
; Default:
; payments-expiration-grace-period=0s
; Example:
; payments-expiration-grace-period=30s
; Specify the interfaces to listen on for p2p connections. One listen
; address per line.
; Default:
; listen=:9735
; Example (option can be specified multiple times):
; All ipv4 on port 9735:
; listen=0.0.0.0:9735
; On all ipv4 interfaces on port 9735 and ipv6 localhost port 9736:
; listen=0.0.0.0:9735
; listen=[::1]:9736
; Disable listening for incoming p2p connections. This will override all
; listeners.
; nolisten=false
; Specify the interfaces to listen on for gRPC connections. One listen
; address per line.
; Default:
; rpclisten=localhost:10009
; Example (option can be specified multiple times):
; On ipv4 localhost port 10009 and ipv6 port 10010:
; rpclisten=localhost:10009
; rpclisten=[::1]:10010
; On an Unix socket:
; rpclisten=unix:///var/run/lnd/lnd-rpclistener.sock
; Specify the interfaces to listen on for REST connections. One listen
; address per line.
; Default:
; restlisten=localhost:8080
; Example (option can be specified multiple times):
; All ipv4 interfaces on port 8080:
; restlisten=0.0.0.0:8080
; On ipv4 localhost port 80 and 443:
; restlisten=localhost:80
; restlisten=localhost:443
; 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.
; Default:
; restcors=
; Example (option can be specified multiple times):
; 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
; advertise your node, this value doesn't need to be set. Unless specified
; (with host:port notation), the default port (9735) will be added to the
; address.
; externalip=
;
; Instead of explicitly stating your external IP address, you can also enable
; UPnP or NAT-PMP support on the daemon. Both techniques will be tried and
; require proper hardware support. In order to detect this hardware support,
; `lnd` uses a dependency that retrieves the router's gateway address by using
; different built-in binaries in each platform. Therefore, it is possible that
; we are unable to detect the hardware and `lnd` will exit with an error
; indicating this. This option will automatically retrieve your external IP
; address, even after it has changed in the case of dynamic IPs, and advertise
; it to the network using the ports the daemon is listening on. This does not
; support devices behind multiple NATs.
; nat=false
; Disable REST API.
; norest=false
; Disable TLS for the REST API.
; no-rest-tls=false
; Specify peer(s) to connect to first.
; addpeer=
; The ping interval for REST based WebSocket connections, set to 0 to disable
; sending ping messages from the server side. Valid time units are {s, m, h}.
; ws-ping-interval=30s
; The time we wait for a pong response message on REST based WebSocket
; connections before the connection is closed as inactive. Valid time units are
; {s, m, h}.
; ws-pong-wait=5s
; Shortest backoff when reconnecting to persistent peers. Valid time units are
; {s, m, h}.
; minbackoff=1s
; Longest backoff when reconnecting to persistent peers. Valid time units are
; {s, m, h}.
; maxbackoff=1h
; The timeout value for network connections.
; Valid units are {ms, s, m, h}.
; connectiontimeout=2m
; Debug logging level.
; Valid levels are {trace, debug, info, warn, error, critical}
; You may also specify <global-level>,<subsystem>=<level>,<subsystem2>=<level>,...
; to set log level for individual subsystems. Use lncli debuglevel --show to
; list available subsystems.
; Default:
; debuglevel=info
; Example:
; debuglevel=debug,PEER=info
; DEPRECATED: Use pprof.cpuprofile instead. Write CPU profile to the specified
; file.
; cpuprofile=
; DEPRECATED: Use pprof.profile instead.Enable HTTP profiling on given port
; -- NOTE port must be between 1024 and 65536. The profile can be access at:
; http://localhost:<PORT>/debug/pprof/. You can also provide it as host:port to
; enable profiling for remote debugging. For example 0.0.0.0:<PORT> to enable
; profiling for all interfaces on the given port.
; profile=
; DEPRECATED: Use pprof.blockingprofile instead. Enable a blocking profile to be
; obtained from the profiling port. A blocking profile can show where goroutines
; are blocking (stuck on mutexes, I/O, etc). This takes a value from 0 to 1,
; with 0 turning off the setting, and 1 sampling every blocking event (it's a
; rate value).
; blockingprofile=0
; DEPRECATED: Use pprof.mutexprofile instead. Enable a mutex profile to be
; obtained from the profiling port. A mutex profile can show where goroutines
; are blocked on mutexes, and which mutexes have high contention. This takes a
; value from 0 to 1, with 0 turning off the setting, and 1 sampling every mutex
; event (it's a rate value).
; mutexprofile=0
; DEPRECATED: Allows the rpcserver to intentionally disconnect from peers with
; open channels. THIS FLAG WILL BE REMOVED IN 0.10.0.
; unsafe-disconnect=false
; Causes a link to replay the adds on its commitment txn after starting up, this
; enables testing of the sphinx replay logic.
; unsafe-replay=false
; The maximum number of incoming pending channels permitted per peer.
; maxpendingchannels=1
; The target location of the channel backup file.
; Default:
; backupfilepath=~/.lnd/data/chain/bitcoin/${network}/channel.backup
; Example:
; backupfilepath=~/.lnd/data/chain/bitcoin/mainnet/channel.backup
; The maximum capacity of the block cache in bytes. Increasing this will result
; in more blocks being kept in memory but will increase performance when the
; same block is required multiple times.
; The default value below is 20 MB (1024 * 1024 * 20)
; blockcachesize=20971520
; DEPRECATED: Use 'fee.url' option. Optional URL for external fee estimation.
; If no URL is specified, the method for fee estimation will depend on the
; chosen backend and network. Must be set for neutrino on mainnet.
; Default:
; feeurl=
; Example:
; feeurl=https://nodes.lightning.computer/fees/v1/btc-fee-estimates.json
; If true, then automatic network bootstrapping will not be attempted. This
; means that your node won't attempt to automatically seek out peers on the
; network.
; nobootstrap=false
; If true, NO SEED WILL BE EXPOSED -- EVER, AND THE WALLET WILL BE ENCRYPTED
; USING THE DEFAULT PASSPHRASE. THIS FLAG IS ONLY FOR TESTING AND SHOULD NEVER
; BE USED ON MAINNET.
; noseedbackup=false
; The full path to a file (or pipe/device) that contains the password for
; unlocking the wallet; if set, no unlocking through RPC is possible and lnd
; will exit if no wallet exists or the password is incorrect; if
; wallet-unlock-allow-create is also set then lnd will ignore this flag if no
; wallet exists and allow a wallet to be created through RPC.
; Default:
; wallet-unlock-password-file=
; Example:
; wallet-unlock-password-file=/tmp/example.password
; Don't fail with an error if wallet-unlock-password-file is set but no wallet
; exists yet. Not recommended for auto-provisioned or high-security systems
; because the wallet creation RPC is unauthenticated and an attacker could
; inject a seed while lnd is in that state.
; wallet-unlock-allow-create=false
; Removes all transaction history from the on-chain wallet on startup, forcing a
; full chain rescan starting at the wallet's birthday. Implements the same
; functionality as btcwallet's dropwtxmgr command. Should be set to false after
; successful execution to avoid rescanning on every restart of lnd.
; reset-wallet-transactions=false
; The smallest channel size (in satoshis) that we should accept. Incoming
; channels smaller than this will be rejected.
; minchansize=20000
; The largest channel size (in satoshis) that we should accept. Incoming
; channels larger than this will be rejected. For non-Wumbo channels this
; limit remains 16777215 satoshis by default as specified in BOLT-0002.
; For wumbo channels this limit is 1,000,000,000 satoshis (10 BTC).
; Set this config option explicitly to restrict your maximum channel size
; to better align with your risk tolerance
; Default:
; maxchansize=<see explanations above>
; Example:
; maxchansize=10000000
; The target number of blocks in which a cooperative close initiated by a remote
; peer should be confirmed. This target is used to estimate the starting fee
; rate that will be used during fee negotiation with the peer. This target is
; also used for cooperative closes initiated locally if the --conf_target for
; the channel closure is not set.
; coop-close-target-confs=6
; The maximum time that is allowed to pass between receiving a channel state
; update and signing the next commitment. Setting this to a longer duration
; allows for more efficient channel operations at the cost of latency. This is
; capped at 1 hour.
; channel-commit-interval=50ms
; The maximum time that is allowed to pass while waiting for the remote party
; to revoke a locally initiated commitment state. Setting this to a longer
; duration if a slow response is expected from the remote party or large
; number of payments are attempted at the same time.
; pending-commit-interval=1m
; The maximum number of channel state updates that is accumulated before signing
; a new commitment.
; channel-commit-batch-size=10
; Keeps persistent record of all failed payment attempts for successfully
; settled payments.
; keep-failed-payment-attempts=false
; Persistently store the final resolution of incoming htlcs.
; store-final-htlc-resolutions=false
; The default max_htlc applied when opening or accepting channels. This value
; limits the number of concurrent HTLCs that the remote party can add to the
; commitment. The maximum possible value is 483.
; default-remote-max-htlcs=483
; The duration that a peer connection must be stable before attempting to send a
; channel update to re-enable or cancel a pending disables of the peer's channels
; on the network.
; chan-enable-timeout=19m
; 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.
; chan-disable-timeout=20m
; The polling interval between attempts to detect if an active channel has become
; inactive due to its peer going offline.
; chan-status-sample-interval=1m
; 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=false
; 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.
; historicalsyncinterval=1h
; 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=false
; If true, lnd will not accept channel opening requests with non-zero push
; amounts. This should prevent accidental pushes to merchant nodes.
; rejectpush=false
; 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=false
; If true, all HTLCs will be held until they are handled by an interceptor
; requireinterceptor=false
; If true, lnd will also allow setting positive inbound fees. By default, lnd
; only allows to set negative inbound fees (an inbound "discount") to remain
; backwards compatible with senders whose implementations do not yet support
; inbound fees. Therefore, you should ONLY set this setting if you know what you
; are doing. [experimental]
; accept-positive-inbound-fees=false
; 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=false
; The maximum number of blocks funds could be locked up for when forwarding
; payments.
; 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].
; max-channel-fee-allocation=0.5
; The maximum fee rate in sat/vbyte that will be used for commitments of
; channels of the anchors type. Must be large enough to ensure transaction
; propagation
; max-commit-fee-rate-anchors=10
; DEPRECATED: This value will be deprecated please use the new setting
; "channel-max-fee-exposure". This value is equivalent to the new fee exposure
; limit but was removed because the name was ambigious.
; dust-threshold=
; This value replaces the old 'dust-threshold' setting and defines the maximum
; amount of satoshis that a channel pays in fees in case the commitment
; transaction is broadcasted. This is enforced in both directions either when
; we are the channel intiator hence paying the fees but also applies to the
; channel fee if we are NOT the channel initiator. It is
; important to note that every HTLC adds fees to the channel state. Non-dust
; HTLCs add just a new output onto the commitment transaction whereas dust
; HTLCs are completely attributed the commitment fee. So this limit can also
; influence adding new HTLCs onto the state. When the limit is reached we won't
; allow any new HTLCs onto the channel state (outgoing and incoming). So
; choosing a right limit here must be done with caution. Moreover this is a
; limit for all channels universally meaning there is no difference made due to
; the channel size. So it is recommended to use the default value. However if
; you have a very small channel average size you might want to reduce this
; value.
; WARNING: Setting this value too low might cause force closes because the
; lightning protocol has no way to roll back a channel state when your peer
; proposes a channel update which exceeds this limit. There are only two options
; to resolve this situation, either increasing the limit or one side force
; closes the channel.
; channel-max-fee-exposure=500000
; 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=false
; 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=false
; If true, spontaneous payments through keysend will be accepted.
; This is a temporary solution until AMP is implemented which is expected to be soon.
; This option will then become deprecated in favor of AMP.
; accept-keysend=false
; 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]
; Default:
; keysend-hold-time=0s
; Example:
; keysend-hold-time=2s
; If true, spontaneous payments through AMP will be accepted. Payments to AMP
; invoices will be accepted regardless of this setting.
; accept-amp=false
; If true, we'll attempt to garbage collect canceled invoices upon start.
; gc-canceled-invoices-on-startup=false
; If true, we'll delete newly canceled invoices on the fly.
; gc-canceled-invoices-on-the-fly=false
; If true, our node will allow htlc forwards that arrive and depart on the same
; channel.
; allow-circular-route=false
; Time in milliseconds between each release of announcements to the network
; trickledelay=90000
; 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.
; numgraphsyncpeers=3
; The alias your node will use, which can be up to 32 UTF-8 characters in
; length.
; Default:
; alias=
; Example:
; alias=My Lightning ☇
; The color of the node in hex format, used to customize node appearance in
; intelligence services.
; color=#3399FF
; The maximum duration that the server will wait before timing out reading
; the headers of an HTTP request.
; http-header-timeout=5s
[fee]
; Optional URL for external fee estimation. If no URL is specified, the method
; for fee estimation will depend on the chosen backend and network. Must be set
; for neutrino on mainnet.
; Default:
; fee.url=
; Example:
; fee.url=https://nodes.lightning.computer/fees/v1/btc-fee-estimates.json
; The minimum interval in which fees will be updated from the specified fee URL.
; fee.min-update-timeout=5m
; The maximum interval in which fees will be updated from the specified fee URL.
; fee.max-update-timeout=20m
[prometheus]
; If true, lnd will start the Prometheus exporter. Prometheus flags are
; behind a build/compile flag and are not available by default. lnd must be built
; with the monitoring tag; `make && make install tags=monitoring` to activate them.
; prometheus.enable=false
; Specify the interface to listen on for Prometheus connections.
; Default:
; prometheus.listen=127.0.0.1:8989
; Example:
; prometheus.listen=0.0.0.0:8989
; If true, then we'll export additional information that allows users to plot
; the processing latency, and total time spent across each RPC calls+service.
; This generates additional memory load for the Prometheus server, and will end
; up using more disk space over time.
; prometheus.perfhistograms=false
[Bitcoin]
; DEPRECATED: If the Bitcoin chain should be active. This field is now ignored
; since only the Bitcoin chain is supported.
; bitcoin.active=false
; The directory to store the chain's data within.
; bitcoin.chaindir=~/.lnd/data/chain/bitcoin
; Use Bitcoin's main network.
; bitcoin.mainnet=false
; Use Bitcoin's test network.
; bitcoin.testnet=false
;
; Use Bitcoin's simulation test network
; bitcoin.simnet=false
; Use Bitcoin's regression test network
; bitcoin.regtest=false
; Use Bitcoin's signet test network
; bitcoin.signet=false
; Connect to a custom signet network defined by this challenge instead of using
; the global default signet test network -- Can be specified multiple times
; bitcoin.signetchallenge=
; Specify a seed node for the signet network instead of using the global default
; signet network seed nodes
; Default:
; bitcoin.signetseednode=
; Example:
; bitcoin.signetseednode=123.45.67.89
; Specify the chain back-end. Options are btcd, bitcoind and neutrino.
;
; NOTE: Please note that switching between a full back-end (btcd/bitcoind) and
; a light back-end (neutrino) is not supported.
; Default:
; bitcoin.node=btcd
; Example:
; bitcoin.node=bitcoind
; bitcoin.node=neutrino
; The default number of confirmations a channel must have before it's considered
; open. We'll require any incoming channel requests to wait this many
; confirmations before we consider the channel active. If this is not set, we
; will scale the value linear to the channel size between 3 and 6.
; The maximmum value of 6 confs is applied to all channels larger than
; wumbo size (16777215 sats). The minimum value of 3 is applied to all channels
; smaller than 8388607 sats (16777215 * 3 / 6).
; Default:
; bitcoin.defaultchanconfs=[3; 6]
; Example:
; bitcoin.defaultchanconfs=3
; The default number of blocks we will require our channel counterparty to wait
; before accessing its funds in case of unilateral close. If this is not set, we
; will scale the value linear to the channel size between 144 and 2016.
; The maximum value of 2016 blocks is applied to all channels larger than
; wumbo size (16777215). The minimum value of 144 is applied to all channels
; smaller than 1198372 sats (16777215 * 144 / 2016).
; Default:
; bitcoin.defaultremotedelay=[144; 2016]
; Example:
; bitcoin.defaultremotedelay=144
; The maximum number of blocks we will limit the wait that our own funds are
; encumbered by in the case when our node unilaterally closes. If a remote peer
; proposes a channel with a delay above this amount, lnd will reject the
; channel.
; bitcoin.maxlocaldelay=2016
; The smallest HTLC we are willing to accept on our channels, in millisatoshi.
; bitcoin.minhtlc=1
; The smallest HTLC we are willing to send out on our channels, in millisatoshi.
; bitcoin.minhtlcout=1000
; The base fee in millisatoshi we will charge for forwarding payments on our
; channels.
; bitcoin.basefee=1000
; The fee rate used when forwarding payments on our channels. The total fee
; charged is basefee + (amount * feerate / 1000000), where amount is the
; forwarded amount.
; bitcoin.feerate=1
; The CLTV delta we will subtract from a forwarded HTLC's timelock value.
; bitcoin.timelockdelta=80
; The seed DNS server(s) to use for initial peer discovery. Must be specified as
; a '<primary_dns>[,<soa_primary_dns>]' tuple where the SOA address is needed
; for DNS resolution through Tor but is optional for clearnet users. Multiple
; tuples can be specified, will overwrite the default seed servers.
; The default seed servers are:
; Default:
; mainnet:
; bitcoin.dnsseed=nodes.lightning.directory,soa.nodes.lightning.directory
; bitcoin.dnsseed=lseed.bitcoinstats.com
; testnet:
; bitcoin.dnsseed=test.nodes.lightning.directory,soa.nodes.lightning.directory
;
; Example for custom DNS servers:
; bitcoin.dnsseed=seed1.test.lightning
; bitcoin.dnsseed=seed2.test.lightning,soa.seed2.test.lightning
[Btcd]
; The base directory that contains the node's data, logs, configuration file,
; etc.
; btcd.dir=~/.btcd
; The host that your local btcd daemon is listening on. By default, this
; setting is assumed to be localhost with the default port for the current
; network.
; btcd.rpchost=localhost
; Username for RPC connections to btcd. By default, lnd will attempt to
; automatically obtain the credentials, so this likely won't need to be set
; (other than for simnet mode).
; Default:
; btcd.rpcuser=
; Example:
; btcd.rpcuser=kek
; Password for RPC connections to btcd. By default, lnd will attempt to
; automatically obtain the credentials, so this likely won't need to be set
; (other than for simnet mode).
; Default:
; btcd.rpcpass=
; Example:
; btcd.rpcpass=kek
; File containing the daemon's certificate file. This only needs to be set if
; the node isn't on the same host as lnd.
; btcd.rpccert=~/.btcd/rpc.cert
; The raw bytes of the daemon's PEM-encoded certificate chain which will be used
; to authenticate the RPC connection. This only needs to be set if the btcd
; node is on a remote host.
; btcd.rawrpccert=
[Bitcoind]
; The base directory that contains the node's data, logs, configuration file,
; etc.
; bitcoind.dir=~/.bitcoin
; Configuration filepath.
; Default:
; bitcoind.config=
; Example:
; bitcoind.config=~/.bitcoin/bitcoin.conf
; Authentication cookie file for RPC connections.
; Default:
; bitcoind.rpccookie=
; Example:
; bitcoind.rpccookie=~/.bitcoin/.cookie
; The host that your local bitcoind daemon is listening on. By default, this
; setting is assumed to be localhost with the default port for the current
; network.
; bitcoind.rpchost=localhost
; Username for RPC connections to bitcoind. By default, lnd will attempt to
; automatically obtain the credentials, so this likely won't need to be set
; (other than for a remote bitcoind instance).
; Default:
; bitcoind.rpcuser=
; Example:
; bitcoind.rpcuser=kek
; Password for RPC connections to bitcoind. By default, lnd will attempt to
; automatically obtain the credentials, so this likely won't need to be set
; (other than for a remote bitcoind instance).
; Default:
; bitcoind.rpcpass=
; Example:
; bitcoind.rpcpass=kek
; ZMQ socket which sends rawblock and rawtx notifications from bitcoind. By
; default, lnd will attempt to automatically obtain this information, so this
; likely won't need to be set (other than for a remote bitcoind instance).
; Default:
; bitcoind.zmqpubrawblock=
; Example:
; bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332
; Default:
; bitcoind.zmqpubrawtx=
; Example:
; bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333
; Default:
; bitcoind.zmqreaddeadline=5s
; Use bitcoind's rpc interface to get block and transaction notifications
; instead of using the zmq interface. Only the rpcpolling option needs to
; be set in order to enable this, the rest of the options can be used to
; change the default values used for this configuration.
; bitcoind.rpcpolling=false
; Default:
; bitcoind.blockpollinginterval=0s
; Example:
; bitcoind.blockpollinginterval=1m
; Default:
; bitcoind.txpollinginterval=0s
; Example:
; bitcoind.txpollinginterval=30s
; Fee estimate mode for bitcoind. It must be either "ECONOMICAL" or "CONSERVATIVE".
; If unset, the default value is "CONSERVATIVE".
; bitcoind.estimatemode=CONSERVATIVE
; The maximum number of peers lnd will choose from the backend node to retrieve
; pruned blocks from. This only applies to pruned nodes.
; bitcoind.pruned-node-max-peers=4
[neutrino]
; Connect only to the specified peers at startup. This creates a persistent
; connection to a target peer. This is recommended as there aren't many
; neutrino compliant full nodes on the test network yet.
; neutrino.connect=
; Max number of inbound and outbound peers.
;
; NOTE: This value is currently unused.
; neutrino.maxpeers=
; Add a peer to connect with at startup.
; neutrino.addpeer=
; How long to ban misbehaving peers. Valid time units are {s, m, h}. Minimum 1
; second.
;
; NOTE: This value is currently unused.
; neutrino.banduration=
; Maximum allowed ban score before disconnecting and banning misbehaving peers.
;
; NOTE: This value is currently unused.
; neutrino.banthreshold=
; Optional filter header in height:hash format to assert the state of neutrino's
; filter header chain on startup. If the assertion does not hold, then the
; filter header chain will be re-synced from the genesis block.
; neutrino.assertfilterheader=
; Used to help identify ourselves to other bitcoin peers.
; neutrino.useragentname=neutrino
; Used to help identify ourselves to other bitcoin peers.
; neutrino.useragentversion=0.12.0-beta
; The amount of time to wait before giving up on a transaction broadcast attempt.
; Default:
; neutrino.broadcasttimeout=0s
; Example:
; neutrino.broadcasttimeout=5s
; Whether compact filters fetched from the P2P network should be persisted to disk.
; neutrino.persistfilters=false
; Validate every channel in the graph during sync by downloading the containing
; block. This is the inverse of routing.assumechanvalid, meaning that for
; Neutrino the validation is turned off by default for massively increased graph
; sync performance. This speedup comes at the risk of using an unvalidated view
; of the network for routing. Overwrites the value of routing.assumechanvalid if
; Neutrino is used.
; neutrino.validatechannels=false
[autopilot]
; If the autopilot agent should be active or not. The autopilot agent will
; attempt to automatically open up channels to put your node in an advantageous
; position within the network graph.
; autopilot.active=false
; The maximum number of channels that should be created.
; autopilot.maxchannels=5
; The fraction of total funds that should be committed to automatic channel
; establishment. For example 0.6 means that 60% of the total funds available
; within the wallet should be used to automatically establish channels. The total
; 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:
; autopilot.heuristic={top_centrality:1}
; Example:
; autopilot.heuristic={preferential:1}
; The smallest channel that the autopilot agent should create
; autopilot.minchansize=20000
; The largest channel that the autopilot agent should create
; autopilot.maxchansize=16777215
; Whether the channels created by the autopilot agent should be private or not.
; Private channels won't be announced to the network.
; autopilot.private=false
; The minimum number of confirmations each of your inputs in funding transactions
; created by the autopilot agent must have.
; autopilot.minconfs=1
; The confirmation target (in blocks) for channels opened by autopilot.
; autopilot.conftarget=3
[tor]
; Allow outbound and inbound connections to be routed through Tor.
; tor.active=false
; Allow the node to connect to non-onion services directly via clearnet. This
; allows the node operator to use direct connections to peers not running behind
; Tor, thus allowing lower latency and better connection stability.
; WARNING: This option will reveal the source IP address of the node, and should
; be used only if privacy is not a concern.
; tor.skip-proxy-for-clearnet-targets=false
; 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.
; Default:
; tor.socks=localhost:9050
; Example:
; tor.socks=9050
; The DNS server as IP:PORT that Tor will use for SRV queries - NOTE must have
; TCP resolution enabled. The current active DNS server for Testnet listening is
; nodes.lightning.directory.
; Default:
; tor.dns=soa.nodes.lightning.directory:53
; Example:
; tor.dns=nodes.lightning.directory
; Enable Tor stream isolation by randomizing user credentials for each
; connection. With this mode active, each connection will use a new circuit.
; This means that multiple applications (other than lnd) using Tor won't be mixed
; in with lnd's traffic.
;
; This option may not be used while direct connections are enabled, since direct
; connections compromise source IP privacy by default.
; tor.streamisolation=false
; The host:port that Tor is listening on for Tor control connections.
; tor.control=localhost:9051
; 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.
; Default:
; tor.password=
; Example:
; tor.password=plsdonthackme
; Automatically set up a v2 onion service to listen for inbound connections.
; tor.v2=false
; Automatically set up a v3 onion service to listen for inbound connections.
; tor.v3=false
; The path to the private key of the onion service being created.
; Default:
; tor.privatekeypath=
; Example:
; tor.privatekeypath=/path/to/torkey
; The path to the private key of the watchtower onion service being created.
; Default:
; tor.watchtowerkeypath=
; Example:
; tor.watchtowerkeypath=/other/path/
; Instructs lnd to encrypt the private key using the wallet's seed.
; tor.encryptkey=false
[logging]
; Whether to exclude the current build's commit hash from log lines. Note that
; the commit hash will not currently show up in all LND log lines as this new
; feature will take a few versions to propagate through the codebase.
; logging.no-commit-hash=false