2021-09-30 16:23:53 +00:00
|
|
|
[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]
|
2022-07-01 20:21:19 +00:00
|
|
|
# When set to true disables metadata log (.lotus/kvlog). This can save disk
|
|
|
|
# space by reducing metadata redundancy.
|
|
|
|
#
|
2021-09-30 16:23:53 +00:00
|
|
|
# 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
|
2022-04-12 21:15:25 +00:00
|
|
|
#DisableMetadataLog = true
|
2021-09-30 16:23:53 +00:00
|
|
|
|
|
|
|
|
2022-03-10 10:58:31 +00:00
|
|
|
[Logging]
|
|
|
|
[Logging.SubsystemLevels]
|
|
|
|
# env var: LOTUS_LOGGING_SUBSYSTEMLEVELS_EXAMPLE-SUBSYSTEM
|
|
|
|
#example-subsystem = "INFO"
|
|
|
|
|
|
|
|
|
2021-09-30 16:23:53 +00:00
|
|
|
[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 = ""
|
|
|
|
|
2021-11-10 13:11:15 +00:00
|
|
|
# Path to file that will be used to output tracer content in JSON format.
|
|
|
|
# If present tracer will save data to defined file.
|
|
|
|
# Format: file path
|
|
|
|
#
|
|
|
|
# type: string
|
|
|
|
# env var: LOTUS_PUBSUB_JSONTRACER
|
|
|
|
#JsonTracer = ""
|
|
|
|
|
|
|
|
# Connection string for elasticsearch instance.
|
|
|
|
# If present tracer will save data to elasticsearch.
|
|
|
|
# Format: https://<username>:<password>@<elasticsearch_url>:<port>/
|
|
|
|
#
|
|
|
|
# type: string
|
|
|
|
# env var: LOTUS_PUBSUB_ELASTICSEARCHTRACER
|
|
|
|
#ElasticSearchTracer = ""
|
|
|
|
|
|
|
|
# Name of elasticsearch index that will be used to save tracer data.
|
|
|
|
# This property is used only if ElasticSearchTracer propery is set.
|
|
|
|
#
|
|
|
|
# type: string
|
|
|
|
# env var: LOTUS_PUBSUB_ELASTICSEARCHINDEX
|
|
|
|
#ElasticSearchIndex = ""
|
|
|
|
|
|
|
|
# Auth token that will be passed with logs to elasticsearch - used for weighted peers score.
|
|
|
|
#
|
|
|
|
# type: string
|
|
|
|
# env var: LOTUS_PUBSUB_TRACERSOURCEAUTH
|
|
|
|
#TracerSourceAuth = ""
|
|
|
|
|
2021-09-30 16:23:53 +00:00
|
|
|
|
|
|
|
[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
|
2021-10-05 03:23:49 +00:00
|
|
|
# and storage providers for storage deals
|
2021-09-30 16:23:53 +00:00
|
|
|
#
|
|
|
|
# type: uint64
|
2021-10-05 03:23:49 +00:00
|
|
|
# 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
|
2021-09-30 16:23:53 +00:00
|
|
|
|
2022-02-14 19:07:13 +00:00
|
|
|
# Require that retrievals perform no on-chain operations. Paid retrievals
|
2022-01-06 18:51:26 +00:00
|
|
|
# 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
|
|
|
|
|
2021-09-30 16:23:53 +00:00
|
|
|
|
|
|
|
[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.
|
2022-11-07 21:31:12 +00:00
|
|
|
# It can be "messages" (default) to store only messages, "universal" to store all chain state or "discard" for discarding cold blocks.
|
2021-09-30 16:23:53 +00:00
|
|
|
#
|
|
|
|
# type: string
|
|
|
|
# env var: LOTUS_CHAINSTORE_SPLITSTORE_COLDSTORETYPE
|
2022-11-07 21:31:12 +00:00
|
|
|
#ColdStoreType = "messages"
|
2021-09-30 16:23:53 +00:00
|
|
|
|
|
|
|
# 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.
|
2022-02-06 10:48:49 +00:00
|
|
|
# It can be "map" for in memory marking or "badger" (default) for on-disk marking.
|
2021-09-30 16:23:53 +00:00
|
|
|
#
|
|
|
|
# type: string
|
|
|
|
# env var: LOTUS_CHAINSTORE_SPLITSTORE_MARKSETTYPE
|
2022-02-06 10:48:49 +00:00
|
|
|
#MarkSetType = "badger"
|
2021-09-30 16:23:53 +00:00
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
|
2022-11-11 20:13:52 +00:00
|
|
|
[Cluster]
|
2022-11-14 21:54:31 +00:00
|
|
|
# EXPERIMENTAL. config to enabled node cluster with raft consensus
|
2022-09-29 10:56:57 +00:00
|
|
|
#
|
|
|
|
# type: bool
|
2022-11-11 20:13:52 +00:00
|
|
|
# env var: LOTUS_CLUSTER_CLUSTERMODEENABLED
|
2022-09-29 10:56:57 +00:00
|
|
|
#ClusterModeEnabled = false
|
|
|
|
|
|
|
|
# A folder to store Raft's data.
|
|
|
|
#
|
|
|
|
# type: string
|
2022-11-11 20:13:52 +00:00
|
|
|
# env var: LOTUS_CLUSTER_DATAFOLDER
|
2022-09-29 10:56:57 +00:00
|
|
|
#DataFolder = ""
|
|
|
|
|
2022-09-30 16:45:04 +00:00
|
|
|
# InitPeersetMultiAddr provides the list of initial cluster peers for new Raft
|
2022-09-29 10:56:57 +00:00
|
|
|
# peers (with no prior state). It is ignored when Raft was already
|
|
|
|
# initialized or when starting in staging mode.
|
|
|
|
#
|
2022-09-30 16:45:04 +00:00
|
|
|
# type: []string
|
2022-11-11 20:13:52 +00:00
|
|
|
# env var: LOTUS_CLUSTER_INITPEERSETMULTIADDR
|
2022-09-30 16:45:04 +00:00
|
|
|
#InitPeersetMultiAddr = []
|
2022-09-29 10:56:57 +00:00
|
|
|
|
|
|
|
# LeaderTimeout specifies how long to wait for a leader before
|
|
|
|
# failing an operation.
|
|
|
|
#
|
|
|
|
# type: Duration
|
2022-11-11 20:13:52 +00:00
|
|
|
# env var: LOTUS_CLUSTER_WAITFORLEADERTIMEOUT
|
2022-09-29 10:56:57 +00:00
|
|
|
#WaitForLeaderTimeout = "15s"
|
|
|
|
|
|
|
|
# NetworkTimeout specifies how long before a Raft network
|
|
|
|
# operation is timed out
|
|
|
|
#
|
|
|
|
# type: Duration
|
2022-11-11 20:13:52 +00:00
|
|
|
# env var: LOTUS_CLUSTER_NETWORKTIMEOUT
|
2022-09-29 10:56:57 +00:00
|
|
|
#NetworkTimeout = "1m40s"
|
|
|
|
|
|
|
|
# CommitRetries specifies how many times we retry a failed commit until
|
|
|
|
# we give up.
|
|
|
|
#
|
|
|
|
# type: int
|
2022-11-11 20:13:52 +00:00
|
|
|
# env var: LOTUS_CLUSTER_COMMITRETRIES
|
2022-09-29 10:56:57 +00:00
|
|
|
#CommitRetries = 1
|
|
|
|
|
|
|
|
# How long to wait between retries
|
|
|
|
#
|
|
|
|
# type: Duration
|
2022-11-11 20:13:52 +00:00
|
|
|
# env var: LOTUS_CLUSTER_COMMITRETRYDELAY
|
2022-09-29 10:56:57 +00:00
|
|
|
#CommitRetryDelay = "200ms"
|
|
|
|
|
|
|
|
# BackupsRotate specifies the maximum number of Raft's DataFolder
|
|
|
|
# copies that we keep as backups (renaming) after cleanup.
|
|
|
|
#
|
|
|
|
# type: int
|
2022-11-11 20:13:52 +00:00
|
|
|
# env var: LOTUS_CLUSTER_BACKUPSROTATE
|
2022-09-29 10:56:57 +00:00
|
|
|
#BackupsRotate = 6
|
|
|
|
|
|
|
|
# Tracing enables propagation of contexts across binary boundaries.
|
|
|
|
#
|
|
|
|
# type: bool
|
2022-11-11 20:13:52 +00:00
|
|
|
# env var: LOTUS_CLUSTER_TRACING
|
2022-09-29 10:56:57 +00:00
|
|
|
#Tracing = false
|
|
|
|
|
|
|
|
|
2022-11-14 13:53:30 +00:00
|
|
|
[ActorEvent]
|
|
|
|
# EnableRealTimeFilterAPI enables APIs that can create and query filters for actor events as they are emitted.
|
|
|
|
#
|
|
|
|
# type: bool
|
|
|
|
# env var: LOTUS_ACTOREVENT_ENABLEREALTIMEFILTERAPI
|
|
|
|
#EnableRealTimeFilterAPI = false
|
|
|
|
|
|
|
|
# EnableHistoricFilterAPI enables APIs that can create and query filters for actor events that occurred in the past.
|
|
|
|
# A queryable index of events will be maintained.
|
|
|
|
#
|
|
|
|
# type: bool
|
|
|
|
# env var: LOTUS_ACTOREVENT_ENABLEHISTORICFILTERAPI
|
|
|
|
#EnableHistoricFilterAPI = false
|
|
|
|
|
|
|
|
# FilterTTL specifies the time to live for actor event filters. Filters that haven't been accessed longer than
|
|
|
|
# this time become eligible for automatic deletion.
|
|
|
|
#
|
|
|
|
# type: Duration
|
|
|
|
# env var: LOTUS_ACTOREVENT_FILTERTTL
|
|
|
|
#FilterTTL = "24h0m0s"
|
|
|
|
|
|
|
|
# MaxFilters specifies the maximum number of filters that may exist at any one time.
|
|
|
|
#
|
|
|
|
# type: int
|
|
|
|
# env var: LOTUS_ACTOREVENT_MAXFILTERS
|
|
|
|
#MaxFilters = 100
|
|
|
|
|
|
|
|
# MaxFilterResults specifies the maximum number of results that can be accumulated by an actor event filter.
|
|
|
|
#
|
|
|
|
# type: int
|
|
|
|
# env var: LOTUS_ACTOREVENT_MAXFILTERRESULTS
|
|
|
|
#MaxFilterResults = 10000
|
|
|
|
|
|
|
|
# MaxFilterHeightRange specifies the maximum range of heights that can be used in a filter (to avoid querying
|
|
|
|
# the entire chain)
|
|
|
|
#
|
|
|
|
# type: uint64
|
|
|
|
# env var: LOTUS_ACTOREVENT_MAXFILTERHEIGHTRANGE
|
|
|
|
#MaxFilterHeightRange = 2880
|
|
|
|
|
2023-01-13 00:53:53 +00:00
|
|
|
# ActorEventDatabasePath is the full path to a sqlite database that will be used to index actor events to
|
2022-11-16 22:42:32 +00:00
|
|
|
# support the historic filter APIs. If the database does not exist it will be created. The directory containing
|
2023-01-13 00:53:53 +00:00
|
|
|
# the database must already exist and be writeable. If a relative path is provided here, sqlite treats it as
|
|
|
|
# relative to the CWD (current working directory).
|
2022-11-16 22:42:32 +00:00
|
|
|
#
|
|
|
|
# type: string
|
|
|
|
# env var: LOTUS_ACTOREVENT_ACTOREVENTDATABASEPATH
|
|
|
|
#ActorEventDatabasePath = ""
|
|
|
|
|
2022-11-14 13:53:30 +00:00
|
|
|
|