Lotus Miner 配置文件,详细介绍了其中包含的选项的含义。
Lotus Miner 配置是在安装步骤中的初始化步骤之后创建的,并且在定义时放置在 ~/.lotusminer/config.toml 或 $LOTUS_MINER_PATH/config.toml 中。
为了使任何配置更改生效,必须重新启动矿机。
API【有修改】
需要改成自己内网的局域网地址
[API]# 矿工API绑定地址ListenAddress = "/ip4/127.0.0.1/tcp/2345/http"# 这应该设置为从外部可以看到的矿工 API 地址RemoteListenAddress = "127.0.0.1:2345"# 一般网络超时值Timeout = "30s"
如你所见,监听地址默认绑定到本地环回接口,如果您需要向其他机器开放对矿工API的访问权限,您将需要将此设置为要使用的网络接口的IP地址,或设置为0.0.0.0(表示“所有接口”)。请注意,即使公开,API访问仍然受JWT令牌保护。
将 RemoteListenAddress
配置为其他节点必须使用才能访问此 API 的值。通常,它是矿工的 IP 地址和 API 端口,但根据您的设置(代理、公共 IP 等),它可能是不同的 IP。
Sealing [有修改]
此部分控制有关扇区密封的一些行为:
worker机器少的时候要改 否则无法提交
BatchPreCommits = false
AggregateCommits = false
[Sealing ]#上限是指在任何给定时间开始封杀之前,有多少行业可以等待更多的交易被打包。
#如果矿商同时接受多个交易,则将创建最多新部门的MaxWaitDeassectors。
#如果并行接受多个MaxWaitDealAssectors交易,则仅并行处理MaxWaitDealAssectors交易
#请注意,将此数字相对于交易摄取率设置得太高可能会导致扇区打包效率低下
MaxWaitDeassectors=2
#创建新CC扇区时可以同时密封多少扇区的上限(0=无限制)
MaxSealingSectors=0
#创建有交易的新部门时,可以同时密封多少部门的上限(0=无限)
MaxSealingSectorsOrderals=0
#一段时间,一个新成立的部门将等待更多的交易被打包,然后才开始密封。
#完全填满的扇区将立即开始密封
WaitDealsDelay=“6h0m0s”
#无论客户是否要求保留未密封的交易数据副本。这让矿工
#避免了以后以占用更多存储空间为代价而启封数据的相对较高成本
AlwaysKeyUnsealedCopy=true
#在向链提交扇区证明之前运行扇区终结
finalizeeEarly=false
#启用/禁用预提交批处理(在nv13之后生效)
BatchPreCommits=true
#最大预提交批量大小达256个扇区-批量将立即发送到此大小之上
MaxPreCommitBatch=256
#超过最小批量大小后,提交批需要等待多长时间
PreCommitBatchWait=“24h0m0s”
#在批量中的扇区/交易开始过期之前,强制批量提交的时间缓冲区
PreCommitBatchSlack=“3h0m0s”
#启用/禁用提交聚合(在nv13之后生效)
AggregateCommits=true
#最小批量提交大小,不小于4
MinCommitBatch=4
#最大批量提交大小高达819个扇区-批量将立即发送到此大小之上
最大提交批次=819
#超过最小批量大小后,提交批需要等待多长时间
CommitBatchWait=“24h0m0s”
#在批量中的部门/交易开始过期之前,强制批量提交的时间缓冲区
CommitBatchSlack=“1h0m0s”
#网络基本费用,低于此费用停止执行提交聚合,而不是单独向链提交证明
AggregateAboveBaseFee=0.00000000015#0.15nanoFIL
TerminateBatchMax =100
TerminateBatchMin =1
TerminateBatchWait=“5mos”
Storage[有修改]
AllowAddPiece = false
AllowPreCommit1 = false
AllowPreCommit2 = false
AllowCommit = false
AllowUnseal = false
AllowMyScheduler = false
存储扇区控制矿工是否可以执行某些密封操作。根据设置和额外 密封工人 的使用,您可能需要修改一些选项。
[Storage]# Upper bound on how many sectors can be fetched in parallel by the storage system at a timeParallelFetchLimit = 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 = trueAllowPreCommit1 = trueAllowPreCommit2 = trueAllowCommit = trueAllowUnseal = true
费用
费用部分允许为矿工提交给链的不同消息设置gas消耗限制:
[Fees]# Maximum fees to payMaxPreCommitGasFee = "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"
根据网络拥塞情况,消息的基本费用可能会增加或减少。您的 gas 限额必须大于要包含的消息的基本费用。但是,在基础费用非常高的情况下,非常大的最大费用会导致资金快速燃烧,因为矿机在正常操作期间会自动提交消息,因此请注意这一点。还需要有比任何最高费用集更多的可用资金,即使实际费用将远低于最高费用集。
设置您愿意为每个扇区的封装支付的最高成本,MaxPreCommitBatchGasFee.PerSector/MaxCommitBatchGasFee.PerSector以避免意外的高成本。
注意:当前的 MaxCommitBatchGasFee.PerSector 足以聚合 6 个扇区的证明。根据您的操作分别调整。如果值太低,消息可能会在内存池中等待很长时间。如果您没有足够的资金,则不会发送消息。
地址
地址部分允许用户指定发送消息的其他地址。当网络费用很高时,这有助于减轻重要消息的队头阻塞。有关更多详细信息,请参阅矿工地址部分。
[Addresses]# Addresses to send PreCommit messages fromPreCommitControl = []# Addresses to send Commit messages fromCommitControl = []# Disable the use of the owner address for messages which are sent automatically.# This is useful when the owner address is an offline/hardware keyDisableOwnerFallback = false# Disable the use of the worker address for messages for which it's possible to use other control addressesDisableWorkerFallback = false
Libp2p
【貌似是做交易用 不产生外部订单应该是不需要调整】本节配置矿工的嵌入式 Libp2p 节点。如设置说明中所述,使用矿机的公共 IP 和固定端口来调整此部分非常重要:
[Libp2p]# libp2p 主机的绑定地址。 0 表示随机端口。# 类型:多地址字符串数组ListenAddresses = ["/ip4/0.0.0.0/tcp/0", "/ip6/::/tcp/0"]# 插入您想要明确的任何地址# 在这里向其他节点宣布。否则,他们被猜到了。# 类型:多地址字符串数组AnnounceAddresses = []# 插入任何地址以避免在此处收到公告。# 类型:多地址字符串数组NoAnnounceAddresses = []# 连接管理器设置,限制你的机器的链接数。ConnMgrLow = 150ConnMgrHigh = 180ConnMgrGrace = "20s"
如果已建立的连接数超过为 ConnMgrHigh
设置的值,则连接管理器将开始修剪现有连接,直到达到为 ConnMgrLow
设置的值。比 ConnMgrGrace
更年轻的连接将被保留。
Pubsub
[Pubsub]# 通常,您不会运行 pubsub 引导节点,因此将其保留为 falseBootstrapper = false# FIXMERemoteTracer = ""#DirectPeers 指定具有直接对等协议的对等点。 这些对等点连接在网格之外,所有(有效)消息都无条件地转发给它们。 路由器将保持与这些对等方的开放连接。 请注意,对等协议应与两端对称配置的直接对等体互惠。# 类型:多地址 peerinfo 字符串数组,必须包含 peerid (/p2p/12D3K...)DirectPeers = []
Dealmaking
此部分控制用于进行存储和检索交易的参数:
[Dealmaking]# 矿工可以接受在线交易ConsiderOnlineStorageDeals = true# 矿工可以接受离线交易ConsiderOfflineStorageDeals = true# 矿工可以接受检索交易ConsiderOnlineRetrievalDeals = true# 矿工可以接受离线检索交易ConsiderOfflineRetrievalDeals = true# 矿工可以接受经过验证的交易ConsiderVerifiedStorageDeals = true# 矿工可以接受未经验证的交易ConsiderUnverifiedStorageDeals = true# 进行交易时要拒绝的数据 CID 列表PieceCidBlocklist = []# 将交易放入密封扇区所需的最大预期时间。这包括交易需要转移和发布的时间。在分配到扇区之前。# 有关更多信息,请参见下文。ExpectedSealDuration = "24h0m0s"# 当交易准备好发布时,等待更多交易准备发布的时间,然后再将它们全部发布为批处理PublishMsgPeriod = "1h0m0s"# 单个发布交易消息中包含的最大交易数MaxDealsPerPublishMsg = 8# 用于对存储交易进行细粒度评估的命令Filter = "/absolute/path/to/storage filter program"# 用于对检索交易进行细粒度评估的命令RetrievalFilter = "/absolute/path/to/retrieval filter program"