Lotus Miner configuration file, which details the meaning of the options contained therein.
The Lotus Miner configuration is created after the initialization step in the installation step and is placed in ~ /. When defined lotusminer/config.toml or $lotus_ MINER_ PATH/config. In toml.
In order for any configuration changes to take effect, the miner must be restarted.
API [modified]
You need to change the LAN address of your own intranet
[API] # Miner API binding address ListenAddress = "/ip4/127.0.0.1/tcp/2345/http" # This should be set to an API address that can be seen from the outside RemoteListenAddress = "127.0.0.1:2345" # General network timeout value Timeout = "30s"
As you can see, the listening address is bound to the local loopback interface by default. If you need to open access to the miner API to other machines, you need to set this to the IP address of the network interface to be used, or 0.0.0.0 (indicating "all interfaces"). Note that even if exposed, API access is still protected by JWT tokens.
Configure RemoteListenAddress to be used by other nodes to access the values of this API. Usually, it is the miner's IP address and API port, but depending on your settings (proxy, public IP, etc.), it may be a different IP.
Sealing [modified]
This section controls some behaviors related to sector sealing:
When there are few worker machines, it should be changed, otherwise it cannot be submitted
BatchPreCommits = false
AggregateCommits = false
[Sealing ] #The upper limit refers to how many industries can wait for more transactions to be packaged before blocking starts at any given time. #If the miner accepts multiple transactions at the same time, maxwaitdeasectors with the most new departments will be created. #If multiple MaxWaitDealAssectors transactions are accepted in parallel, only MaxWaitDealAssectors transactions are processed in parallel #Please note that setting this number too high relative to the transaction uptake rate may lead to inefficient sector packaging MaxWaitDeassectors=2 #The upper limit of how many sectors can be sealed simultaneously when creating a new CC sector (0 = unlimited) MaxSealingSectors=0 #When creating a new department with transactions, the upper limit of how many departments can be sealed at the same time (0 = unlimited) MaxSealingSectorsOrderals=0 #For some time, a newly established department will wait for more transactions to be packaged before it begins to seal. #A fully filled sector will begin sealing immediately WaitDealsDelay="6h0m0s" #Unsealed copies of transaction data are retained regardless of whether the customer requires them to be retained. This makes the miners #It avoids the relatively high cost of unsealing data at the cost of occupying more storage space in the future AlwaysKeyUnsealedCopy=true #Run sector termination before submitting sector proof to the chain finalizeeEarly=false #Enable / disable pre commit batch (effective after nv13) BatchPreCommits=true #The maximum pre commit batch size is 256 sectors - the batch will be sent immediately above this size MaxPreCommitBatch=256 #How long does it take to submit a batch after the minimum batch size is exceeded PreCommitBatchWait="24h0m0s" #Time buffer to force batch commit before sectors / transactions in the batch begin to expire PreCommitBatchSlack="3h0m0s" #Enable / disable commit aggregation (effective after nv13) AggregateCommits=true #Minimum batch submission size, no less than 4 MinCommitBatch=4 #Maximum batch commit size up to 819 sectors - batches will be sent immediately above this size Maximum submission batch=819 #How long does it take to submit a batch after the minimum batch size is exceeded CommitBatchWait="24h0m0s" #Time buffer to force batch submission before the Department / transaction in the batch begins to expire CommitBatchSlack="1h0m0s" #The basic cost of the network. If it is lower than this cost, stop performing submission aggregation instead of submitting certificates to the chain separately AggregateAboveBaseFee=0.00000000015#0.15nanoFIL TerminateBatchMax =100 TerminateBatchMin =1 TerminateBatchWait="5mos"
[modified]
AllowAddPiece = false
AllowPreCommit1 = false
AllowPreCommit2 = false
AllowCommit = false
AllowUnseal = false
AllowMyScheduler = false
The storage sector controls whether miners can perform some sealing operations. Depending on the settings and the use of additional sealing workers, you may need to modify some options.
[Storage] # Upper bound on how many sectors can be fetched in parallel by the storage system at a time ParallelFetchLimit = 10 # Sealing steps that the miner can perform itself. Sometimes we have a dedicated seal worker to do them and do not want the miner to commit any resources for this. AllowAddPiece = true AllowPreCommit1 = true AllowPreCommit2 = true AllowCommit = true AllowUnseal = true
cost
The fee section allows you to set gas consumption limits for different messages submitted by miners to the chain:
[Fees] # Maximum fees to pay MaxPreCommitGasFee = "0.025 FIL" MaxCommitGasFee = "0.05 FIL" MaxTerminateGasFee = "0.5 FIL" # This is a high-value operation, so the default fee is higher. MaxWindowPoStGasFee = "5 FIL" MaxPublishDealsFee = "0.05 FIL" MaxMarketBalanceAddFee = "0.007 FIL" [Fees.MaxPreCommitBatchGasFee] Base = "0 FIL" PerSector = "0.02 FIL" [Fees.MaxCommitBatchGasFee] Base = "0 FIL" PerSector = "0.03 FIL"
According to the network congestion, the basic cost of messages may increase or decrease. Your gas limit must be greater than the basic cost of the message to be included. However, when the basic cost is very high, a very large maximum cost will lead to rapid combustion of funds, because the miner will automatically submit messages during normal operation, so please pay attention to this. There is also a need for more funds available than any maximum cost set, even if the actual cost will be much lower than the maximum cost set.
Set the maximum cost you are willing to pay for the encapsulation of each sector, maxprecommitbatchgasfee PerSector/MaxCommitBatchGasFee. Perfector to avoid unexpected high costs.
Note: the current maxcommitbatchgasfee Proof that persector is sufficient to aggregate six sectors. Adjust according to your operation. If the value is too low, the message may wait for a long time in the memory pool. If you don't have enough money, no message will be sent.
address
The address section allows the user to specify other addresses for sending messages. When the network cost is high, this helps to reduce the queue head blocking of important messages. For more details, see the miner's address section.
[Addresses] # Addresses to send PreCommit messages from PreCommitControl = [] # Addresses to send Commit messages from CommitControl = [] # Disable the use of the owner address for messages which are sent automatically. # This is useful when the owner address is an offline/hardware key DisableOwnerFallback = false # Disable the use of the worker address for messages for which it's possible to use other control addresses DisableWorkerFallback = false
Libp2p
[it seems that it is used for transactions and does not generate external orders, so it should not need to be adjusted] this section configures the miner's embedded Libp2p node. As described in the setting instructions, it is very important to use the public IP and fixed port of the miner to adjust this part:
[Libp2p] # Binding address of libp2p host. 0 indicates random port. # Type: multi address string array ListenAddresses = ["/ip4/0.0.0.0/tcp/0", "/ip6/::/tcp/0"] # Insert any address you want to specify # Announce to other nodes here. Otherwise, they were guessed. # Type: multi address string array AnnounceAddresses = [] # Insert any address to avoid receiving announcements here. # Type: multi address string array NoAnnounceAddresses = [] # Connection manager settings to limit the number of links on your machine. ConnMgrLow = 150 ConnMgrHigh = 180 ConnMgrGrace = "20s"
If the number of established connections exceeds the value set for ConnMgrHigh, the connection manager starts trimming existing connections until the value set for ConnMgrLow is reached. Connections younger than ConnMgrGrace will be retained.
Pubsub
[Pubsub] # Normally, you will not run the pubsub boot node, so leave it false Bootstrapper = false # FIXME RemoteTracer = "" #DirectPeers specifies a peer with a direct peer protocol. These peers are connected outside the grid and all (valid) messages are forwarded to them unconditionally. The router will maintain an open connection with these peers. Note that peer-to-peer protocols should be mutually beneficial to direct peers configured symmetrically at both ends. # Type: multi address peerinfo string array, which must contain peerid (/p2p/12D3K...) DirectPeers = []
Dealmaking
This section controls the parameters used to store and retrieve transactions:
[Dealmaking] # Miners can accept online transactions ConsiderOnlineStorageDeals = true # Miners can accept offline transactions ConsiderOfflineStorageDeals = true # Miners can accept retrieval transactions ConsiderOnlineRetrievalDeals = true # Miners can accept offline retrieval transactions ConsiderOfflineRetrievalDeals = true # Miners can accept verified transactions ConsiderVerifiedStorageDeals = true # Miners can accept unauthenticated transactions ConsiderUnverifiedStorageDeals = true # CID list of data to reject when making a transaction PieceCidBlocklist = [] # The maximum expected time required to put a transaction into a sealed sector. This includes the time when the transaction needs to be transferred and published. Before allocating to sectors. # For more information, see below. ExpectedSealDuration = "24h0m0s" # When transactions are ready to be published, wait for more time for transactions to be published, and then publish them all as a batch PublishMsgPeriod = "1h0m0s" # Maximum number of transactions contained in a single published transaction message MaxDealsPerPublishMsg = 8 # Commands for fine-grained evaluation of stored transactions Filter = "/absolute/path/to/storage filter program" # Commands for fine-grained evaluation of retrieved transactions RetrievalFilter = "/absolute/path/to/retrieval filter program"