// +build nerpanet package build import ( "github.com/filecoin-project/go-state-types/abi" "github.com/filecoin-project/lotus/chain/actors/policy" builtin2 "github.com/filecoin-project/specs-actors/v2/actors/builtin" ) var DrandSchedule = map[abi.ChainEpoch]DrandEnum{ 0: DrandMainnet, } const BootstrappersFile = "nerpanet.pi" const GenesisFile = "nerpanet.car" const UpgradeBreezeHeight = -1 const BreezeGasTampingDuration = 0 const UpgradeSmokeHeight = -1 const UpgradeIgnitionHeight = -2 const UpgradeRefuelHeight = -3 const UpgradeTapeHeight = -4 const UpgradeLiftoffHeight = -5 const UpgradeActorsV2Height = 120 // critical: the network can bootstrap from v1 only const UpgradeKumquatHeight = -6 const UpgradeCalicoHeight = 306000 const UpgradePersianHeight = UpgradeCalicoHeight + (builtin2.EpochsInHour * 12) const UpgradeOrangeHeight = 307500 const UpgradeClausHeight = 307600 const UpgradeActorsV3Height = 308000 func init() { // 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 // policy.SetConsensusMinerMinPower(abi.NewStoragePower(4 << 40)) policy.SetSupportedProofTypes( abi.RegisteredSealProof_StackedDrg512MiBV1, abi.RegisteredSealProof_StackedDrg32GiBV1, abi.RegisteredSealProof_StackedDrg64GiBV1, ) // Lower the most time-consuming parts of PoRep policy.SetPreCommitChallengeDelay(10) // TODO - make this a variable //miner.WPoStChallengeLookback = abi.ChainEpoch(2) Devnet = false } 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