mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-22 14:42:40 +01:00
doc/lightningd-config.5.txt: remove
Replaced by doc/lightningd-config.5.md. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
7f0a36600a
commit
b0a72a67e8
1 changed files with 0 additions and 383 deletions
|
@ -1,383 +0,0 @@
|
|||
LIGHTNINGD-CONFIG(5)
|
||||
====================
|
||||
:doctype: manpage
|
||||
|
||||
NAME
|
||||
----
|
||||
lightningd-config - Lightning daemon configuration file
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
*~/.lightning/config*
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
When lightningd(8) starts up, it reads a configuration file. By
|
||||
default that is 'config' in the *.lightning* subdirectory of the home
|
||||
directory (if it exists), but that can be changed by the
|
||||
'--lightning-dir' or '--conf' options on the lightningd(8) command
|
||||
line.
|
||||
|
||||
Configuration file options are processed first, then command line
|
||||
options: later options override earlier ones except 'addr' options
|
||||
which accumulate.
|
||||
|
||||
All these options are mirrored as commandline arguments to
|
||||
lightningd(8), so '--foo' becomes simply 'foo' in the configuration
|
||||
file, and '--foo=bar' becomes 'foo=bar' in the configuration file.
|
||||
|
||||
Blank lines and lines beginning with '#' are ignored.
|
||||
|
||||
DEBUGGING
|
||||
---------
|
||||
|
||||
'--help' will show you the defaults for many options; they vary with
|
||||
network settings so you can specify '--network' before '--help' to see
|
||||
the defaults for that network.
|
||||
|
||||
The lightning-listconfigs(7) command will output a valid configuration
|
||||
file using the current settings.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
General options
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
*allow-deprecated-apis*='BOOL'::
|
||||
Enable deprecated options, JSONRPC commands, fields, etc. It
|
||||
defaults to 'true', but you should set it to 'false' when testing
|
||||
to ensure that an upgrade won't break your configuration.
|
||||
|
||||
*help*::
|
||||
Print help and exit. Not very useful inside a configuration file, but
|
||||
fun to put in other's config files while their computer is unattended.
|
||||
|
||||
*version*::
|
||||
Print version and exit. Also useless inside a configuration file,
|
||||
but putting this in someone's config file may convince them to
|
||||
read this man page.
|
||||
|
||||
Bitcoin control options:
|
||||
|
||||
*network*='NETWORK'::
|
||||
Select the network parameters ('bitcoin', 'testnet', or 'regtest').
|
||||
|
||||
*testnet*::
|
||||
Alias for 'network=testnet'.
|
||||
|
||||
*signet*::
|
||||
Alias for 'network=signet'.
|
||||
|
||||
*mainnet*::
|
||||
Alias for 'network=bitcoin'.
|
||||
|
||||
*bitcoin-cli*='PATH'::
|
||||
The name of 'bitcoin-cli' executable to run.
|
||||
|
||||
*bitcoin-datadir*='DIR'::
|
||||
'-datadir' argument to supply to bitcoin-cli(1).
|
||||
|
||||
*bitcoin-rpcuser*='USER'::
|
||||
The RPC username for talking to bitcoind(1).
|
||||
|
||||
*bitcoin-rpcpassword*='PASSWORD'::
|
||||
The RPC password for talking to bitcoind(1).
|
||||
|
||||
*bitcoin-rpcconnect*='HOST'::
|
||||
The bitcoind(1) RPC host to connect to.
|
||||
|
||||
*bitcoin-rpcport*='PORT'::
|
||||
The bitcoind(1) RPC port to connect to.
|
||||
|
||||
*bitcoin-retry-timeout*='SECONDS'::
|
||||
Number of seconds to keep trying a bitcoin-cli(1) command.
|
||||
If the command keeps failing after this time, exit with a
|
||||
fatal error.
|
||||
|
||||
*rescan*='BLOCKS'::
|
||||
Number of blocks to rescan from the current head, or absolute blockheight
|
||||
if negative. This is only needed if something goes badly wrong.
|
||||
|
||||
Lightning daemon options
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
*lightning-dir*='DIR'::
|
||||
Sets the working directory. All files (except '--conf' and '--lightning-dir'
|
||||
on the command line) are relative to this.
|
||||
|
||||
*pid-file*='PATH'::
|
||||
Specify pid file to write to.
|
||||
|
||||
*log-level*='LEVEL'::
|
||||
What log level to print out: options are io, debug, info, unusual, broken.
|
||||
|
||||
*log-prefix*='PREFIX'::
|
||||
Prefix for log lines: this can be customized if you want to merge logs with
|
||||
multiple daemons.
|
||||
|
||||
*log-file*='PATH'::
|
||||
Log to this file instead of stdout. Sending lightningd(8) SIGHUP will cause
|
||||
it to reopen this file (useful for log rotation).
|
||||
|
||||
*rpc-file*='PATH'::
|
||||
Set JSON-RPC socket (or /dev/tty), such as for lightning-cli(1).
|
||||
|
||||
*daemon*::
|
||||
Run in the background, suppress stdout and stderr.
|
||||
|
||||
*conf*='PATH'::
|
||||
Sets configuration file (default: *lightning-dir*/'config' ). If this is
|
||||
a relative path, it is relative to the starting directory, not
|
||||
*lightning-dir* (unlike other paths). 'PATH' must exist and be readable
|
||||
(we allow missing files in the default case).
|
||||
Using this inside a configuration file is meaningless.
|
||||
|
||||
Lightning node customization options
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
*rgb*='RRGGBB'::
|
||||
Your favorite color as a hex code.
|
||||
|
||||
*alias*='NAME'::
|
||||
Up to 32 UTF-8 characters to tag your node. Completely silly, since anyone
|
||||
can call their node anything they want. The default is an
|
||||
NSA-style codename derived from your public key, but "Peter Todd"
|
||||
and "VAULTERO" are good options, too.
|
||||
|
||||
*fee-base*='MILLISATOSHI'::
|
||||
Default: 1000. The base fee to charge for every payment which passes
|
||||
through. Note that millisatoshis are a very, very small unit!
|
||||
Changing this value will only affect new channels and not existing ones.
|
||||
If you want to change fees for existing channels, use the RPC call
|
||||
lightning-setchannelfee(7).
|
||||
|
||||
*fee-per-satoshi*='MILLIONTHS'::
|
||||
Default: 10 (0.001%). This is the proportional fee to charge for every
|
||||
payment which passes through. As percentages are too coarse, it's in
|
||||
millionths, so 10000 is 1%, 1000 is 0.1%. Changing this value will only
|
||||
affect new channels and not existing ones. If you want to change fees for
|
||||
existing channels, use the RPC call lightning-setchannelfee(7).
|
||||
|
||||
*min-capacity-sat*='SATOSHI'::
|
||||
Default: 10000. This value defines the minimal effective channel capacity
|
||||
in satoshi to accept for channel opening requests. If a peer tries to open
|
||||
a channel smaller than this, the opening will be rejected.
|
||||
|
||||
*ignore-fee-limits*='BOOL'::
|
||||
Allow nodes which establish channels to us to set any fee they
|
||||
want. This may result in a channel which cannot be closed, should
|
||||
fees increase, but make channels far more reliable since we never
|
||||
close it due to unreasonable fees.
|
||||
|
||||
*commit-time*='MILLISECONDS::
|
||||
How long to wait before sending commitment messages to the peer: in
|
||||
theory increasing this would reduce load, but your node would have to be
|
||||
extremely busy node for you to even notice.
|
||||
|
||||
Lightning channel and HTLC options
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
*watchtime-blocks*='BLOCKS'::
|
||||
How long we need to spot an outdated close attempt: on opening a channel
|
||||
we tell our peer that this is how long they'll have to wait if they perform
|
||||
a unilateral close.
|
||||
|
||||
*max-locktime-blocks*='BLOCKS'::
|
||||
The longest our funds can be delayed (ie. the longest *watchtime-blocks*
|
||||
our peer can ask for, and also the longest HTLC timeout we will accept).
|
||||
If our peer asks for longer, we'll refuse to create a channel, and if an
|
||||
HTLC asks for longer, we'll refuse it.
|
||||
|
||||
*funding-confirms*='BLOCKS'::
|
||||
Confirmations required for the funding transaction when the other side
|
||||
opens a channel before the channel is usable.
|
||||
|
||||
*commit-fee*='PERCENT'::
|
||||
The percentage of 'estimatesmartfee 2' to use for the bitcoin
|
||||
transaction which funds a channel: can be greater than 100.
|
||||
|
||||
*commit-fee-min*='PERCENT'::
|
||||
*commit-fee-max*='PERCENT'::
|
||||
Limits on what onchain fee range we'll allow when a node opens a
|
||||
channel with us, as a percentage of 'estimatesmartfee 2'. If
|
||||
they're outside this range, we abort their opening attempt. Note
|
||||
that *commit-fee-max* can (should!) be greater than 100.
|
||||
|
||||
*max-concurrent-htlcs*='INTEGER'::
|
||||
Number of HTLCs one channel can handle concurrently in each direction.
|
||||
Should be between 1 and 483 (default 30).
|
||||
|
||||
*cltv-delta*='BLOCKS'::
|
||||
The number of blocks between incoming payments and outgoing payments:
|
||||
this needs to be enough to make sure that if we have to, we can close
|
||||
the outgoing payment before the incoming, or redeem the incoming once
|
||||
the outgoing is redeemed.
|
||||
|
||||
*cltv-final*='BLOCKS'::
|
||||
The number of blocks to allow for payments we receive: if we have to,
|
||||
we might need to redeem this on-chain, so this is the number of blocks
|
||||
we have to do that.
|
||||
|
||||
Invoice control options:
|
||||
|
||||
*autocleaninvoice-cycle*='SECONDS'::
|
||||
Perform cleanup of expired invoices every 'SECONDS' seconds, or
|
||||
disable if 0. Usually unpaid expired invoices are uninteresting,
|
||||
and just take up space in the database.
|
||||
|
||||
*autocleaninvoice-expired-by*='SECONDS'::
|
||||
Control how long invoices must have been expired before they are
|
||||
cleaned (if 'autocleaninvoice-cycle' is non-zero).
|
||||
|
||||
Networking options
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Note that for simple setups, the implicit 'autolisten' option does the
|
||||
right thing: it will try to bind to port 9735 on IPv4 and IPv6, and
|
||||
will announce it to peers if it seems like a public address.
|
||||
|
||||
You can instead use 'addr' to override this (eg. to change the port),
|
||||
or precisely control where to bind and what to announce with the
|
||||
'bind-addr' and 'announce-addr' options. These will *disable* the
|
||||
'autolisten' logic, so you must specifiy exactly what you want!
|
||||
|
||||
*addr*='[IPADDRESS[:PORT]]|autotor:TORIPADDRESS[:TORPORT]'::
|
||||
|
||||
Set an IP address (v4 or v6) or automatic Tor address to listen on
|
||||
and (maybe) announce as our node address.
|
||||
|
||||
An empty 'IPADDRESS' is a special value meaning bind to IPv4 and/or
|
||||
IPv6 on all interfaces, '0.0.0.0' means bind to all IPv4
|
||||
interfaces, '::' means 'bind to all IPv6 interfaces'. If 'PORT' is
|
||||
not specified, 9735 is used. If we can determine a public IP
|
||||
address from the resulting binding, and no other addresses of the
|
||||
same type are already announced, the address is announced.
|
||||
|
||||
If the argument begins with 'autotor:' then it is followed by the
|
||||
IPv4 or IPv6 address of the Tor control port (default port 9051),
|
||||
and this will be used to configure a Tor hidden service for port
|
||||
9735. The Tor hidden service will be configured to point to the
|
||||
first IPv4 or IPv6 address we bind to.
|
||||
|
||||
This option can be used multiple times to add more addresses, and
|
||||
its use disables autolisten. If necessary, and 'always-use-proxy'
|
||||
is not specified, a DNS lookup may be done to resolve 'IPADDRESS'
|
||||
or 'TORIPADDRESS'.
|
||||
|
||||
*bind-addr*='[IPADDRESS[:PORT]]|SOCKETPATH'::
|
||||
|
||||
Set an IP address or UNIX domain socket to listen to, but do not
|
||||
announce. A UNIX domain socket is distinguished from an IP address
|
||||
by beginning with a '/'.
|
||||
|
||||
An empty 'IPADDRESS' is a special value meaning bind to IPv4 and/or
|
||||
IPv6 on all interfaces, '0.0.0.0' means bind to all IPv4
|
||||
interfaces, '::' means 'bind to all IPv6 interfaces'. 'PORT' is
|
||||
not specified, 9735 is used.
|
||||
|
||||
This option can be used multiple times to add more addresses, and
|
||||
its use disables autolisten. If necessary, and 'always-use-proxy'
|
||||
is not specified, a DNS lookup may be done to resolve 'IPADDRESS'.
|
||||
|
||||
*announce-addr*='IPADDRESS[:PORT]|TORADDRESS.onion[:PORT]'::
|
||||
|
||||
Set an IP (v4 or v6) address or Tor address to announce; a Tor address is
|
||||
distinguished by ending in '.onion'. 'PORT' defaults to 9735.
|
||||
|
||||
Empty or wildcard IPv4 and IPv6 addresses don't make sense here.
|
||||
Also, unlike the 'addr' option, there is no checking that your
|
||||
announced addresses are public (e.g. not localhost).
|
||||
|
||||
This option can be used multiple times to add more addresses, and
|
||||
its use disables autolisten. The spec says you can't announce
|
||||
more that one address of the same type (eg. two IPv4 or two IPv6
|
||||
addresses) so `lightningd` will refuse if you specify more than one.
|
||||
|
||||
If necessary, and 'always-use-proxy' is not specified, a DNS
|
||||
lookup may be done to resolve 'IPADDRESS'.
|
||||
|
||||
*offline*::
|
||||
Do not bind to any ports, and do not try to reconnect to any peers.
|
||||
This can be useful for maintenance and forensics, so is usually
|
||||
specified on the command line. Overrides all 'addr' and 'bind-addr'
|
||||
options.
|
||||
|
||||
*autolisten*='BOOL'::
|
||||
By default, we bind (and maybe announce) on IPv4 and IPv6 interfaces if
|
||||
no 'addr', 'bind-addr' or 'announce-addr' options are specified. Setting
|
||||
this to 'false' disables that.
|
||||
|
||||
*proxy*='IPADDRESS[:PORT]'::
|
||||
Set a socks proxy to use to connect to Tor nodes (or for all connections if
|
||||
*always-use-proxy* is set).
|
||||
|
||||
*always-use-proxy*='BOOL'::
|
||||
Always use the *proxy*, even to connect to normal IP addresses (you
|
||||
can still connect to Unix domain sockets manually). This also disables
|
||||
all DNS lookups, to avoid leaking information.
|
||||
|
||||
*disable-dns*::
|
||||
Disable the DNS bootstrapping mechanism to find a node by its node ID.
|
||||
|
||||
*tor-service-password*='PASSWORD'::
|
||||
Set a Tor control password, which may be needed for 'autotor:' to
|
||||
authenticate to the Tor control port.
|
||||
|
||||
|
||||
Lightning Plugins
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
lightningd(8) supports plugins, which offer additional configuration
|
||||
options and JSON-RPC methods, depending on the plugin. Some are
|
||||
supplied by default (usually located in
|
||||
*libexec/c-lightning/plugins/*). If a *plugins* directory exists
|
||||
under 'lightning-dir' that is searched for plugins along with
|
||||
any immediate subdirectories). You can specify additional paths too:
|
||||
|
||||
*plugin*='PATH'::
|
||||
Specify a plugin to run as part of c-lightning. This can be specified
|
||||
multiple times to add multiple plugins.
|
||||
|
||||
*plugin-dir*='DIRECTORY'::
|
||||
Specify a directory to look for plugins; all executable files
|
||||
not containing punctuation (other than '.', '-' or '_) in 'DIRECTORY'
|
||||
are loaded. 'DIRECTORY' must exist;
|
||||
this can be specified multiple times to add multiple directories.
|
||||
|
||||
*clear-plugins*::
|
||||
This option clears all 'plugin' and 'plugin-dir' options
|
||||
preceeding it, including the default built-in plugin directory.
|
||||
You can still add 'plugin-dir' and 'plugin' options following
|
||||
this and they will have the normal effect.
|
||||
|
||||
*disable-plugin*='PLUGIN'::
|
||||
If 'PLUGIN' contains a /, plugins with the same path as 'PLUGIN'
|
||||
are disabled. Otherwise, any plugin with that base name is
|
||||
disabled, whatever directory it is in.
|
||||
|
||||
BUGS
|
||||
----
|
||||
You should report bugs on our github issues page, and maybe submit a
|
||||
fix to gain our eternal gratitude!
|
||||
|
||||
AUTHOR
|
||||
------
|
||||
Rusty Russell <rusty@rustcorp.com.au> wrote this man page, and much
|
||||
of the configuration language, but many others did the hard work
|
||||
of actually implementing these options.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
lightning-listconfigs(7) lightning-setchannelfee(7)
|
||||
lightningd(8)
|
||||
|
||||
RESOURCES
|
||||
---------
|
||||
Main web site: https://github.com/ElementsProject/lightning
|
||||
|
||||
COPYING
|
||||
-------
|
||||
Note: the modules in the ccan/ directory have their own licenses, but
|
||||
the rest of the code is covered by the BSD-style MIT license.
|
Loading…
Add table
Reference in a new issue