MainNetbool`long:"mainnet" description:"Use the main network"`
TestNet3bool`long:"testnet" description:"Use the test network"`
SimNetbool`long:"simnet" description:"Use the simulation test network"`
RegTestbool`long:"regtest" description:"Use the regression test network"`
DefaultNumChanConfsint`long:"defaultchanconfs" description:"The default number of confirmations a channel must have before it's considered open. If this is not set, we will scale the value according to the channel size."`
DefaultRemoteDelayint`long:"defaultremotedelay" description:"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 according to the channel size."`
MinHTLClnwire.MilliSatoshi`long:"minhtlc" description:"The smallest HTLC we are willing to forward on our channels, in millisatoshi"`
BaseFeelnwire.MilliSatoshi`long:"basefee" description:"The base fee in millisatoshi we will charge for forwarding payments on our channels"`
FeeRatelnwire.MilliSatoshi`long:"feerate" description:"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."`
TimeLockDeltauint32`long:"timelockdelta" description:"The CLTV delta we will subtract from a forwarded HTLC's timelock value"`
}
typeneutrinoConfigstruct{
AddPeers[]string`short:"a" long:"addpeer" description:"Add a peer to connect with at startup"`
ConnectPeers[]string`long:"connect" description:"Connect only to the specified peers at startup"`
MaxPeersint`long:"maxpeers" description:"Max number of inbound and outbound peers"`
BanDurationtime.Duration`long:"banduration" description:"How long to ban misbehaving peers. Valid time units are {s, m, h}. Minimum 1 second"`
BanThresholduint32`long:"banthreshold" description:"Maximum allowed ban score before disconnecting and banning misbehaving peers."`
}
typebtcdConfigstruct{
Dirstring`long:"dir" description:"The base directory that contains the node's data, logs, configuration file, etc."`
RPCHoststring`long:"rpchost" description:"The daemon's rpc listening address. If a port is omitted, then the default port for the selected chain parameters will be used."`
RPCUserstring`long:"rpcuser" description:"Username for RPC connections"`
RPCPassstring`long:"rpcpass" default-mask:"-" description:"Password for RPC connections"`
RPCCertstring`long:"rpccert" description:"File containing the daemon's certificate file"`
RawRPCCertstring`long:"rawrpccert" description:"The raw bytes of the daemon's PEM-encoded certificate chain which will be used to authenticate the RPC connection."`
}
typebitcoindConfigstruct{
Dirstring`long:"dir" description:"The base directory that contains the node's data, logs, configuration file, etc."`
RPCHoststring`long:"rpchost" description:"The daemon's rpc listening address. If a port is omitted, then the default port for the selected chain parameters will be used."`
RPCUserstring`long:"rpcuser" description:"Username for RPC connections"`
RPCPassstring`long:"rpcpass" default-mask:"-" description:"Password for RPC connections"`
ZMQPubRawBlockstring`long:"zmqpubrawblock" description:"The address listening for ZMQ connections to deliver raw block notifications"`
ZMQPubRawTxstring`long:"zmqpubrawtx" description:"The address listening for ZMQ connections to deliver raw transaction notifications"`
}
typeautoPilotConfigstruct{
Activebool`long:"active" description:"If the autopilot agent should be active or not."`
MaxChannelsint`long:"maxchannels" description:"The maximum number of channels that should be created"`
Allocationfloat64`long:"allocation" description:"The percentage of total funds that should be committed to automatic channel establishment"`
MinChannelSizeint64`long:"minchansize" description:"The smallest channel that the autopilot agent should create"`
MaxChannelSizeint64`long:"maxchansize" description:"The largest channel that the autopilot agent should create"`
}
typetorConfigstruct{
Activebool`long:"active" description:"Allow outbound and inbound connections to be routed through Tor"`
SOCKSstring`long:"socks" description:"The host:port that Tor's exposed SOCKS5 proxy is listening on"`
DNSstring`long:"dns" description:"The DNS server as host:port that Tor will use for SRV queries - NOTE must have TCP resolution enabled"`
StreamIsolationbool`long:"streamisolation" description:"Enable Tor stream isolation by randomizing user credentials for each connection."`
Controlstring`long:"control" description:"The host:port that Tor is listening on for Tor control connections"`
V2bool`long:"v2" description:"Automatically set up a v2 onion service to listen for inbound connections"`
V2PrivateKeyPathstring`long:"v2privatekeypath" description:"The path to the private key of the onion service being created"`
V3bool`long:"v3" description:"Use a v3 onion service to listen for inbound connections"`
}
typezapConnectConfigstruct{
LocalIpbool`short:"i" long:"localip" description:"Include local ip in QRCode."`
Localhostbool`short:"l" long:"localhost" description:"Use 127.0.0.1 for ip."`
Jsonbool`short:"j" long:"json" description:"Generate json instead of a QRCode."`
}
// config defines the configuration options for lnd.
// config defines the configuration options for lnd.
//
//
// See loadConfig for further details regarding the configuration
// See loadConfig for further details regarding the configuration
// loading+parsing process.
// loading+parsing process.
typeconfigstruct{
typeconfigstruct{
LocalIpbool`short:"i" long:"localip" description:"Include local ip in QRCode."`
ZapConnect*zapConnectConfig`group:"ZapConnect"`
Localhostbool`short:"l" long:"localhost" description:"Use 127.0.0.1 for ip."`
Jsonbool`short:"j" long:"json" description:"Generate json instead of a QRCode."`
ShowVersionbool`short:"V" long:"version" description:"Display version information and exit"`
LndDirstring`long:"lnddir" description:"The base directory that contains lnd's data, logs, configuration file, etc."`
ConfigFilestring`long:"C" long:"configfile" description:"Path to configuration file"`
LndDirstring`long:"lnddir" description:"The base directory that contains lnd's data, logs, configuration file, etc."`
DataDirstring`short:"b" long:"datadir" description:"The directory to store lnd's data within"`
ConfigFilestring`long:"C" long:"configfile" description:"Path to configuration file"`
TLSCertPathstring`long:"tlscertpath" description:"Path to write the TLS certificate for lnd's RPC and REST services"`
DataDirstring`short:"b" long:"datadir" description:"The directory to store lnd's data within"`
AdminMacPathstring`long:"adminmacaroonpath" description:"Path to write the admin macaroon for lnd's RPC and REST services if it doesn't exist"`
TLSCertPathstring`long:"tlscertpath" description:"Path to write the TLS certificate for lnd's RPC and REST services"`
TLSKeyPathstring`long:"tlskeypath" description:"Path to write the TLS private key for lnd's RPC and REST services"`
TLSExtraIPstring`long:"tlsextraip" description:"Adds an extra ip to the generated certificate"`
TLSExtraDomainstring`long:"tlsextradomain" description:"Adds an extra domain to the generated certificate"`
AdminMacPathstring`long:"adminmacaroonpath" description:"Path to write the admin macaroon for lnd's RPC and REST services if it doesn't exist"`
ReadMacPathstring`long:"readonlymacaroonpath" description:"Path to write the read-only macaroon for lnd's RPC and REST services if it doesn't exist"`
InvoiceMacPathstring`long:"invoicemacaroonpath" description:"Path to the invoice-only macaroon for lnd's RPC and REST services if it doesn't exist"`
LogDirstring`long:"logdir" description:"Directory to log output."`
MaxLogFilesint`long:"maxlogfiles" description:"Maximum logfiles to keep (0 for no rotation)"`
MaxLogFileSizeint`long:"maxlogfilesize" description:"Maximum logfile size in MB"`
// We'll parse these 'raw' string arguments into real net.Addrs in the
// loadConfig function. We need to expose the 'raw' strings so the
// command line library can access them.
// Only the parsed net.Addrs should be used!
RawRPCListeners[]string`long:"rpclisten" description:"Add an interface/port/socket to listen for RPC connections"`
RawRESTListeners[]string`long:"restlisten" description:"Add an interface/port/socket to listen for REST connections"`
RawListeners[]string`long:"listen" description:"Add an interface/port to listen for peer connections"`
RawExternalIPs[]string`long:"externalip" description:"Add an ip:port to the list of local addresses we claim to listen on to peers. If a port is not specified, the default (9735) will be used regardless of other parameters"`
RPCListeners[]net.Addr
RESTListeners[]net.Addr
Listeners[]net.Addr
ExternalIPs[]net.Addr
DisableListenbool`long:"nolisten" description:"Disable listening for incoming peer connections"`
NATbool`long:"nat" description:"Toggle NAT traversal support (using either UPnP or NAT-PMP) to automatically advertise your external IP address to the network -- NOTE this does not support devices behind multiple NATs"`
DebugLevelstring`short:"d" long:"debuglevel" description:"Logging level for all subsystems {trace, debug, info, warn, error, critical} -- You may also specify <subsystem>=<level>,<subsystem2>=<level>,... to set the log level for individual subsystems -- Use show to list available subsystems"`
CPUProfilestring`long:"cpuprofile" description:"Write CPU profile to the specified file"`
Profilestring`long:"profile" description:"Enable HTTP profiling on given port -- NOTE port must be between 1024 and 65535"`
DebugHTLCbool`long:"debughtlc" description:"Activate the debug htlc mode. With the debug HTLC mode, all payments sent use a pre-determined R-Hash. Additionally, all HTLCs sent to a node with the debug HTLC R-Hash are immediately settled in the next available state transition."`
UnsafeDisconnectbool`long:"unsafe-disconnect" description:"Allows the rpcserver to intentionally disconnect from peers with open channels. USED FOR TESTING ONLY."`
UnsafeReplaybool`long:"unsafe-replay" description:"Causes a link to replay the adds on its commitment txn after starting up, this enables testing of the sphinx replay logic."`
MaxPendingChannelsint`long:"maxpendingchannels" description:"The maximum number of incoming pending channels permitted per peer."`