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."`
MinHTLCInlnwire.MilliSatoshi`long:"minhtlc" description:"The smallest HTLC we are willing to accept on our channels, in millisatoshi"`
MinHTLCOutlnwire.MilliSatoshi`long:"minhtlcout" description:"The smallest HTLC we are willing to send out 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."`
FeeURLstring`long:"feeurl" description:"Optional URL for fee estimation. If a URL is not specified, static fees will be used for estimation."`
AssertFilterHeaderstring`long:"assertfilterheader" description:"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."`
}
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"`
EstimateModestring`long:"estimatemode" description:"The fee estimate mode. Must be either ECONOMICAL or CONSERVATIVE."`
}
typeautoPilotConfigstruct{
Activebool`long:"active" description:"If the autopilot agent should be active or not."`
Heuristicmap[string]float64`long:"heuristic" description:"Heuristic to activate, and the weight to give it during scoring."`
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"`
Privatebool`long:"private" description:"Whether the channels created by the autopilot agent should be private or not. Private channels won't be announced to the network."`
MinConfsint32`long:"minconfs" description:"The minimum number of confirmations each of your inputs in funding transactions created by the autopilot agent must have."`
ConfTargetuint32`long:"conftarget" description:"The confirmation target (in blocks) for channels opened by autopilot."`
}
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"`
TargetIPAddressstring`long:"targetipaddress" description:"IP address that Tor should use as the target of the hidden service"`
Passwordstring`long:"password" description:"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."`
V2bool`long:"v2" description:"Automatically set up a v2 onion service to listen for inbound connections"`
V3bool`long:"v3" description:"Automatically set up a v3 onion service to listen for inbound connections"`
PrivateKeyPathstring`long:"privatekeypath" description:"The path to the private key of the onion service being created"`
WatchtowerKeyPathstring`long:"watchtowerkeypath" description:"The path to the private key of the watchtower onion service being created"`
}
// Config defines the configuration options for lnd.
//
// See LoadConfig for further details regarding the configuration
@ -294,18 +218,18 @@ type Config struct {
MaxPendingChannelsint`long:"maxpendingchannels" description:"The maximum number of incoming pending channels permitted per peer."`
BackupFilePathstring`long:"backupfilepath" description:"The target location of the channel backup file"`
// AutoPilot holds the configuration options for the daemon's autopilot.
typeAutoPilotstruct{
Activebool`long:"active" description:"If the autopilot agent should be active or not."`
Heuristicmap[string]float64`long:"heuristic" description:"Heuristic to activate, and the weight to give it during scoring."`
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"`
Privatebool`long:"private" description:"Whether the channels created by the autopilot agent should be private or not. Private channels won't be announced to the network."`
MinConfsint32`long:"minconfs" description:"The minimum number of confirmations each of your inputs in funding transactions created by the autopilot agent must have."`
ConfTargetuint32`long:"conftarget" description:"The confirmation target (in blocks) for channels opened by autopilot."`
// Bitcoind holds the configuration options for the daemon's connection to
// bitcoind.
typeBitcoindstruct{
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"`
EstimateModestring`long:"estimatemode" description:"The fee estimate mode. Must be either ECONOMICAL or CONSERVATIVE."`
// Btcd holds the configuration options for the daemon's connection to btcd.
typeBtcdstruct{
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."`
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."`
MinHTLCInlnwire.MilliSatoshi`long:"minhtlc" description:"The smallest HTLC we are willing to accept on our channels, in millisatoshi"`
MinHTLCOutlnwire.MilliSatoshi`long:"minhtlcout" description:"The smallest HTLC we are willing to send out 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"`
// Neutrino holds the configuration options for the daemon's connection to
// neutrino.
typeNeutrinostruct{
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."`
FeeURLstring`long:"feeurl" description:"Optional URL for fee estimation. If a URL is not specified, static fees will be used for estimation."`
AssertFilterHeaderstring`long:"assertfilterheader" description:"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."`
// Tor holds the configuration options for the daemon's connection to tor.
typeTorstruct{
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"`
TargetIPAddressstring`long:"targetipaddress" description:"IP address that Tor should use as the target of the hidden service"`
Passwordstring`long:"password" description:"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."`
V2bool`long:"v2" description:"Automatically set up a v2 onion service to listen for inbound connections"`
V3bool`long:"v3" description:"Automatically set up a v3 onion service to listen for inbound connections"`
PrivateKeyPathstring`long:"privatekeypath" description:"The path to the private key of the onion service being created"`
WatchtowerKeyPathstring`long:"watchtowerkeypath" description:"The path to the private key of the watchtower onion service being created"`