[API] # Binding address for the Lotus API # # type: string # env var: LOTUS_API_LISTENADDRESS #ListenAddress = "/ip4/127.0.0.1/tcp/1234/http" # type: string # env var: LOTUS_API_REMOTELISTENADDRESS #RemoteListenAddress = "" # type: Duration # env var: LOTUS_API_TIMEOUT #Timeout = "30s" [Backup] # When set to true disables metadata log (.lotus/kvlog). This can save disk # space by reducing metadata redundancy. # # Note that in case of metadata corruption it might be much harder to recover # your node if metadata log is disabled # # type: bool # env var: LOTUS_BACKUP_DISABLEMETADATALOG #DisableMetadataLog = true [Logging] [Logging.SubsystemLevels] # env var: LOTUS_LOGGING_SUBSYSTEMLEVELS_EXAMPLE-SUBSYSTEM #example-subsystem = "INFO" [Libp2p] # Binding address for the libp2p host - 0 means random port. # Format: multiaddress; see https://multiformats.io/multiaddr/ # # type: []string # env var: LOTUS_LIBP2P_LISTENADDRESSES #ListenAddresses = ["/ip4/0.0.0.0/tcp/0", "/ip6/::/tcp/0"] # Addresses to explicitally announce to other peers. If not specified, # all interface addresses are announced # Format: multiaddress # # type: []string # env var: LOTUS_LIBP2P_ANNOUNCEADDRESSES #AnnounceAddresses = [] # Addresses to not announce # Format: multiaddress # # type: []string # env var: LOTUS_LIBP2P_NOANNOUNCEADDRESSES #NoAnnounceAddresses = [] # When not disabled (default), lotus asks NAT devices (e.g., routers), to # open up an external port and forward it to the port lotus is running on. # When this works (i.e., when your router supports NAT port forwarding), # it makes the local lotus node accessible from the public internet # # type: bool # env var: LOTUS_LIBP2P_DISABLENATPORTMAP #DisableNatPortMap = false # ConnMgrLow is the number of connections that the basic connection manager # will trim down to. # # type: uint # env var: LOTUS_LIBP2P_CONNMGRLOW #ConnMgrLow = 150 # ConnMgrHigh is the number of connections that, when exceeded, will trigger # a connection GC operation. Note: protected/recently formed connections don't # count towards this limit. # # type: uint # env var: LOTUS_LIBP2P_CONNMGRHIGH #ConnMgrHigh = 180 # ConnMgrGrace is a time duration that new connections are immune from being # closed by the connection manager. # # type: Duration # env var: LOTUS_LIBP2P_CONNMGRGRACE #ConnMgrGrace = "20s" [Pubsub] # Run the node in bootstrap-node mode # # type: bool # env var: LOTUS_PUBSUB_BOOTSTRAPPER #Bootstrapper = false # type: string # env var: LOTUS_PUBSUB_REMOTETRACER #RemoteTracer = "" [Client] # type: bool # env var: LOTUS_CLIENT_USEIPFS #UseIpfs = false # type: bool # env var: LOTUS_CLIENT_IPFSONLINEMODE #IpfsOnlineMode = false # type: string # env var: LOTUS_CLIENT_IPFSMADDR #IpfsMAddr = "" # type: bool # env var: LOTUS_CLIENT_IPFSUSEFORRETRIEVAL #IpfsUseForRetrieval = false # The maximum number of simultaneous data transfers between the client # and storage providers for storage deals # # type: uint64 # env var: LOTUS_CLIENT_SIMULTANEOUSTRANSFERSFORSTORAGE #SimultaneousTransfersForStorage = 20 # The maximum number of simultaneous data transfers between the client # and storage providers for retrieval deals # # type: uint64 # env var: LOTUS_CLIENT_SIMULTANEOUSTRANSFERSFORRETRIEVAL #SimultaneousTransfersForRetrieval = 20 # Require that retrievals perform no on-chain operations. Paid retrievals # without existing payment channels with available funds will fail instead # of automatically performing on-chain operations. # # type: bool # env var: LOTUS_CLIENT_OFFCHAINRETRIEVAL #OffChainRetrieval = false [Wallet] # type: string # env var: LOTUS_WALLET_REMOTEBACKEND #RemoteBackend = "" # type: bool # env var: LOTUS_WALLET_ENABLELEDGER #EnableLedger = false # type: bool # env var: LOTUS_WALLET_DISABLELOCAL #DisableLocal = false [Fees] # type: types.FIL # env var: LOTUS_FEES_DEFAULTMAXFEE #DefaultMaxFee = "0.07 FIL" [Chainstore] # type: bool # env var: LOTUS_CHAINSTORE_ENABLESPLITSTORE #EnableSplitstore = false [Chainstore.Splitstore] # ColdStoreType specifies the type of the coldstore. # It can be "messages" (default) to store only messages, "universal" to store all chain state or "discard" for discarding cold blocks. # # type: string # env var: LOTUS_CHAINSTORE_SPLITSTORE_COLDSTORETYPE #ColdStoreType = "messages" # HotStoreType specifies the type of the hotstore. # Only currently supported value is "badger". # # type: string # env var: LOTUS_CHAINSTORE_SPLITSTORE_HOTSTORETYPE #HotStoreType = "badger" # MarkSetType specifies the type of the markset. # It can be "map" for in memory marking or "badger" (default) for on-disk marking. # # type: string # env var: LOTUS_CHAINSTORE_SPLITSTORE_MARKSETTYPE #MarkSetType = "badger" # HotStoreMessageRetention specifies the retention policy for messages, in finalities beyond # the compaction boundary; default is 0. # # type: uint64 # env var: LOTUS_CHAINSTORE_SPLITSTORE_HOTSTOREMESSAGERETENTION #HotStoreMessageRetention = 0 # HotStoreFullGCFrequency specifies how often to perform a full (moving) GC on the hotstore. # A value of 0 disables, while a value 1 will do full GC in every compaction. # Default is 20 (about once a week). # # type: uint64 # env var: LOTUS_CHAINSTORE_SPLITSTORE_HOTSTOREFULLGCFREQUENCY #HotStoreFullGCFrequency = 20 [Cluster] # EXPERIMENTAL. config to enabled node cluster with raft consensus # # type: bool # env var: LOTUS_CLUSTER_CLUSTERMODEENABLED #ClusterModeEnabled = false # will shutdown libp2p host on shutdown. Useful for testing # # type: bool # env var: LOTUS_CLUSTER_HOSTSHUTDOWN #HostShutdown = false # A folder to store Raft's data. # # type: string # env var: LOTUS_CLUSTER_DATAFOLDER #DataFolder = "" # InitPeersetMultiAddr provides the list of initial cluster peers for new Raft # peers (with no prior state). It is ignored when Raft was already # initialized or when starting in staging mode. # # type: []string # env var: LOTUS_CLUSTER_INITPEERSETMULTIADDR #InitPeersetMultiAddr = [] # LeaderTimeout specifies how long to wait for a leader before # failing an operation. # # type: Duration # env var: LOTUS_CLUSTER_WAITFORLEADERTIMEOUT #WaitForLeaderTimeout = "15s" # NetworkTimeout specifies how long before a Raft network # operation is timed out # # type: Duration # env var: LOTUS_CLUSTER_NETWORKTIMEOUT #NetworkTimeout = "1m40s" # CommitRetries specifies how many times we retry a failed commit until # we give up. # # type: int # env var: LOTUS_CLUSTER_COMMITRETRIES #CommitRetries = 1 # How long to wait between retries # # type: Duration # env var: LOTUS_CLUSTER_COMMITRETRYDELAY #CommitRetryDelay = "200ms" # BackupsRotate specifies the maximum number of Raft's DataFolder # copies that we keep as backups (renaming) after cleanup. # # type: int # env var: LOTUS_CLUSTER_BACKUPSROTATE #BackupsRotate = 6 # Namespace to use when writing keys to the datastore # # type: string # env var: LOTUS_CLUSTER_DATASTORENAMESPACE #DatastoreNamespace = "/raft" # Tracing enables propagation of contexts across binary boundaries. # # type: bool # env var: LOTUS_CLUSTER_TRACING #Tracing = false