Merge branch 'master' into feat/sturdypost

This commit is contained in:
Andrew Jackson (Ajax)
2023-11-06 16:10:57 -06:00
200 changed files with 5609 additions and 1219 deletions
+7 -1
View File
@@ -10,6 +10,7 @@ import (
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/big"
"github.com/filecoin-project/go-state-types/network"
miner5 "github.com/filecoin-project/specs-actors/v5/actors/builtin/miner"
"github.com/filecoin-project/lotus/chain/actors/builtin"
@@ -122,6 +123,8 @@ func DefaultFullNode() *FullNode {
}
func DefaultStorageMiner() *StorageMiner {
// TODO: Should we increase this to nv21, which would push it to 3.5 years?
maxSectorExtentsion, _ := policy.GetMaxSectorExpirationExtension(network.Version20)
cfg := &StorageMiner{
Common: defCommon(),
@@ -143,7 +146,7 @@ func DefaultStorageMiner() *StorageMiner {
// XXX snap deals wait deals slack if first
PreCommitBatchSlack: Duration(3 * time.Hour), // time buffer for forceful batch submission before sectors/deals in batch would start expiring, higher value will lower the chances for message fail due to expiration
CommittedCapacitySectorLifetime: Duration(builtin.EpochDurationSeconds * uint64(policy.GetMaxSectorExpirationExtension()) * uint64(time.Second)),
CommittedCapacitySectorLifetime: Duration(builtin.EpochDurationSeconds * uint64(maxSectorExtentsion) * uint64(time.Second)),
AggregateCommits: true,
MinCommitBatch: miner5.MinAggregatedSectors, // per FIP13, we must have at least four proofs to aggregate, where 4 is the cross over point where aggregation wins out on single provecommit gas costs
@@ -158,6 +161,7 @@ func DefaultStorageMiner() *StorageMiner {
TerminateBatchMax: 100,
TerminateBatchWait: Duration(5 * time.Minute),
MaxSectorProveCommitsSubmittedPerEpoch: 20,
UseSyntheticPoRep: false,
},
Proving: ProvingConfig{
@@ -254,6 +258,8 @@ func DefaultStorageMiner() *StorageMiner {
MaxWindowPoStGasFee: types.MustParseFIL("5"),
MaxPublishDealsFee: types.MustParseFIL("0.05"),
MaxMarketBalanceAddFee: types.MustParseFIL("0.007"),
MaximizeWindowPoStFeeCap: true,
},
Addresses: MinerAddressConfig{
+24 -19
View File
@@ -36,6 +36,14 @@ var Doc = map[string][]DocField{
Comment: `FULLNODE_API_INFO is the API endpoint for the Lotus daemon.`,
},
{
Name: "StorageRPCSecret",
Type: "string",
Comment: `RPC Secret for the storage subsystem.
If integrating with lotus-miner this must match the value from
cat ~/.lotusminer/keystore/MF2XI2BNNJ3XILLQOJUXMYLUMU | jq -r .PrivateKey`,
},
},
"Backup": {
{
@@ -748,18 +756,6 @@ over the worker address if this flag is set.`,
Comment: ``,
},
{
Name: "SealingParams",
Type: "SealingConfig",
Comment: ``,
},
{
Name: "SealerConfig",
Type: "//",
Comment: ``,
},
{
Name: "Journal",
Type: "JournalConfig",
@@ -912,6 +908,12 @@ over the worker address if this flag is set.`,
Name: "MaxMarketBalanceAddFee",
Type: "types.FIL",
Comment: ``,
},
{
Name: "MaximizeWindowPoStFeeCap",
Type: "bool",
Comment: ``,
},
},
@@ -1072,13 +1074,10 @@ After changing this option, confirm that the new value works in your setup by in
Name: "MaxPartitionsPerPoStMessage",
Type: "int",
Comment: `Maximum number of partitions to prove in a single SubmitWindowPoSt messace. 0 = network limit (10 in nv16)
Comment: `Maximum number of partitions to prove in a single SubmitWindowPoSt messace. 0 = network limit (3 in nv21)
A single partition may contain up to 2349 32GiB sectors, or 2300 64GiB sectors.
The maximum number of sectors which can be proven in a single PoSt message is 25000 in network version 16, which
means that a single message can prove at most 10 partitions
//
Note that setting this value lower may result in less efficient gas use - more messages will be sent,
to prove each deadline, resulting in more total gas use (but each message will have lower gas limit)
@@ -1369,7 +1368,7 @@ required to have expiration of at least the soonest-ending deal`,
Comment: `CommittedCapacitySectorLifetime is the duration a Committed Capacity (CC) sector will
live before it must be extended or converted into sector containing deals before it is
terminated. Value must be between 180-540 days inclusive`,
terminated. Value must be between 180-1278 days (1278 in nv21, 540 before nv21).`,
},
{
Name: "WaitDealsDelay",
@@ -1514,6 +1513,12 @@ Submitting a smaller number of prove commits per epoch would reduce the possibil
Comment: ``,
},
{
Name: "UseSyntheticPoRep",
Type: "bool",
Comment: `UseSyntheticPoRep, when set to true, will reduce the amount of cache data held on disk after the completion of PreCommit 2 to 11GiB.`,
},
},
"Splitstore": {
{
@@ -1521,7 +1526,7 @@ Submitting a smaller number of prove commits per epoch would reduce the possibil
Type: "string",
Comment: `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.`,
It can be "discard" (default) for discarding cold blocks, "messages" to store only messages or "universal" to store all chain state..`,
},
{
Name: "HotStoreType",
+9 -7
View File
@@ -328,13 +328,10 @@ type ProvingConfig struct {
// 'lotus-miner proving compute window-post 0'
DisableWDPoStPreChecks bool
// Maximum number of partitions to prove in a single SubmitWindowPoSt messace. 0 = network limit (10 in nv16)
// Maximum number of partitions to prove in a single SubmitWindowPoSt messace. 0 = network limit (3 in nv21)
//
// A single partition may contain up to 2349 32GiB sectors, or 2300 64GiB sectors.
//
// The maximum number of sectors which can be proven in a single PoSt message is 25000 in network version 16, which
// means that a single message can prove at most 10 partitions
//
// //
// Note that setting this value lower may result in less efficient gas use - more messages will be sent,
// to prove each deadline, resulting in more total gas use (but each message will have lower gas limit)
//
@@ -396,7 +393,7 @@ type SealingConfig struct {
// CommittedCapacitySectorLifetime is the duration a Committed Capacity (CC) sector will
// live before it must be extended or converted into sector containing deals before it is
// terminated. Value must be between 180-540 days inclusive
// terminated. Value must be between 180-1278 days (1278 in nv21, 540 before nv21).
CommittedCapacitySectorLifetime Duration
// Period of time that a newly created sector will wait for more deals to be packed in to before it starts to seal.
@@ -467,6 +464,9 @@ type SealingConfig struct {
// todo TargetSealingSectors uint64
// todo TargetSectors - stop auto-pleding new sectors after this many sectors are sealed, default CC upgrade for deals sectors if above
// UseSyntheticPoRep, when set to true, will reduce the amount of cache data held on disk after the completion of PreCommit 2 to 11GiB.
UseSyntheticPoRep bool
}
type SealerConfig struct {
@@ -528,6 +528,8 @@ type MinerFeeConfig struct {
MaxWindowPoStGasFee types.FIL
MaxPublishDealsFee types.FIL
MaxMarketBalanceAddFee types.FIL
MaximizeWindowPoStFeeCap bool
}
type LotusProviderFees struct {
@@ -657,7 +659,7 @@ type Chainstore struct {
type Splitstore struct {
// 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.
// It can be "discard" (default) for discarding cold blocks, "messages" to store only messages or "universal" to store all chain state..
ColdStoreType string
// HotStoreType specifies the type of the hotstore.
// Only currently supported value is "badger".