//go:build nerpanet // +build nerpanet package build import ( "github.com/filecoin-project/go-state-types/abi" "github.com/filecoin-project/go-state-types/network" "github.com/filecoin-project/lotus/chain/actors/policy" "github.com/ipfs/go-cid" builtin2 "github.com/filecoin-project/specs-actors/v2/actors/builtin" ) var DrandSchedule = map[abi.ChainEpoch]DrandEnum{ 0: DrandMainnet, } const GenesisNetworkVersion = network.Version0 const BootstrappersFile = "nerpanet.pi" const GenesisFile = "nerpanet.car" const UpgradeBreezeHeight = -1 const BreezeGasTampingDuration = 0 const UpgradeSmokeHeight = -1 const UpgradeIgnitionHeight = -2 const UpgradeRefuelHeight = -3 const UpgradeLiftoffHeight = -5 const UpgradeAssemblyHeight = 30 // critical: the network can bootstrap from v1 only const UpgradeTapeHeight = 60 const UpgradeKumquatHeight = 90 const UpgradeCalicoHeight = 100 const UpgradePersianHeight = UpgradeCalicoHeight + (builtin2.EpochsInHour * 1) const UpgradeClausHeight = 250 const UpgradeOrangeHeight = 300 const UpgradeTrustHeight = 600 const UpgradeNorwegianHeight = 201000 const UpgradeTurboHeight = 203000 const UpgradeHyperdriveHeight = 379178 const UpgradeChocolateHeight = 999999999 var SupportedProofTypes = []abi.RegisteredSealProof{ abi.RegisteredSealProof_StackedDrg512MiBV1, abi.RegisteredSealProof_StackedDrg32GiBV1, abi.RegisteredSealProof_StackedDrg64GiBV1, } // Minimum block production power is set to 4 TiB // Rationale is to discourage small-scale miners from trying to take over the network // One needs to invest in ~2.3x the compute to break consensus, making it not worth it // // DOWNSIDE: the fake-seals need to be kept alive/protected, otherwise network will seize // var ConsensusMinerMinPower = abi.NewStoragePower(4 << 40) var MinVerifiedDealSize = abi.NewStoragePower(1 << 20) // Lower the most time-consuming parts of PoRep var PreCommitChallengeDelay = abi.ChainEpoch(10) func init() { policy.SetSupportedProofTypes(SupportedProofTypes...) policy.SetConsensusMinerMinPower(ConsensusMinerMinPower) policy.SetMinVerifiedDealSize(MinVerifiedDealSize) policy.SetPreCommitChallengeDelay(PreCommitChallengeDelay) // TODO - make this a variable //miner.WPoStChallengeLookback = abi.ChainEpoch(2) Devnet = false BuildType = BuildNerpanet } const BlockDelaySecs = uint64(builtin2.EpochDurationSeconds) const PropagationDelaySecs = uint64(6) // BootstrapPeerThreshold is the minimum number peers we need to track for a sync worker to start const BootstrapPeerThreshold = 4 var WhitelistedBlock = cid.Undef