/config.toml Secret
Last active
January 20, 2023 02:01
The ✨ lotus config for node operators who wants to support Eth APIs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[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 = "" | |
# 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 = "" | |
[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 | |
# 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 | |
# Tracing enables propagation of contexts across binary boundaries. | |
# | |
# type: bool | |
# env var: LOTUS_CLUSTER_TRACING | |
#Tracing = false | |
[Fevm] | |
# EnableEthRPC enables eth_ rpc, and enables storing a mapping of eth transaction hashes to filecoin message Cids. | |
# This will also enable the RealTimeFilterAPI and HistoricFilterAPI by default, but they can be disabled by config options above. | |
# | |
# type: bool | |
# env var: LOTUS_FEVM_ENABLEETHRPC | |
EnableEthRPC = true | |
# EthTxHashMappingLifetimeDays the transaction hash lookup database will delete mappings that have been stored for more than x days | |
# Set to 0 to keep all mappings | |
# | |
# type: int | |
# env var: LOTUS_FEVM_ETHTXHASHMAPPINGLIFETIMEDAYS | |
#EthTxHashMappingLifetimeDays = 0 | |
[Fevm.Events] | |
# EnableEthRPC enables APIs that | |
# DisableRealTimeFilterAPI will disable the RealTimeFilterAPI that can create and query filters for actor events as they are emitted. | |
# The API is enabled when EnableEthRPC is true, but can be disabled selectively with this flag. | |
# | |
# type: bool | |
# env var: LOTUS_FEVM_EVENTS_DISABLEREALTIMEFILTERAPI | |
#DisableRealTimeFilterAPI = false | |
# DisableHistoricFilterAPI will disable the HistoricFilterAPI that can create and query filters for actor events | |
# that occurred in the past. HistoricFilterAPI maintains a queryable index of events. | |
# The API is enabled when EnableEthRPC is true, but can be disabled selectively with this flag. | |
# | |
# type: bool | |
# env var: LOTUS_FEVM_EVENTS_DISABLEHISTORICFILTERAPI | |
#DisableHistoricFilterAPI = 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_FEVM_EVENTS_FILTERTTL | |
#FilterTTL = "24h0m0s" | |
# MaxFilters specifies the maximum number of filters that may exist at any one time. | |
# | |
# type: int | |
# env var: LOTUS_FEVM_EVENTS_MAXFILTERS | |
#MaxFilters = 100 | |
# MaxFilterResults specifies the maximum number of results that can be accumulated by an actor event filter. | |
# | |
# type: int | |
# env var: LOTUS_FEVM_EVENTS_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_FEVM_EVENTS_MAXFILTERHEIGHTRANGE | |
#MaxFilterHeightRange = 2880 | |
# DatabasePath is the full path to a sqlite database that will be used to index actor events to | |
# support the historic filter APIs. If the database does not exist it will be created. The directory containing | |
# 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). | |
# | |
# type: string | |
# env var: LOTUS_FEVM_EVENTS_DATABASEPATH | |
#DatabasePath = "" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment