2021-02-03 03:06:43 +00:00
|
|
|
// +build nerpanet
|
|
|
|
|
|
|
|
package build
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/filecoin-project/go-state-types/abi"
|
|
|
|
"github.com/filecoin-project/lotus/chain/actors/policy"
|
2021-04-09 06:58:22 +00:00
|
|
|
"github.com/ipfs/go-cid"
|
2021-02-03 03:06:43 +00:00
|
|
|
|
|
|
|
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 UpgradeLiftoffHeight = -5
|
|
|
|
|
2021-05-06 05:44:11 +00:00
|
|
|
const UpgradeAssemblyHeight = 30 // critical: the network can bootstrap from v1 only
|
2021-03-17 03:00:29 +00:00
|
|
|
const UpgradeTapeHeight = 60
|
|
|
|
|
|
|
|
const UpgradeKumquatHeight = 90
|
2021-02-03 03:06:43 +00:00
|
|
|
|
2021-03-17 03:00:29 +00:00
|
|
|
const UpgradeCalicoHeight = 100
|
|
|
|
const UpgradePersianHeight = UpgradeCalicoHeight + (builtin2.EpochsInHour * 1)
|
2021-02-03 03:06:43 +00:00
|
|
|
|
2021-03-17 03:00:29 +00:00
|
|
|
const UpgradeClausHeight = 250
|
2021-02-03 03:06:43 +00:00
|
|
|
|
2021-03-17 03:00:29 +00:00
|
|
|
const UpgradeOrangeHeight = 300
|
2021-02-03 03:06:43 +00:00
|
|
|
|
2021-05-06 05:44:11 +00:00
|
|
|
const UpgradeTrustHeight = 600
|
2021-05-13 19:50:10 +00:00
|
|
|
const UpgradeNorwegianHeight = 201000
|
2021-05-27 10:27:47 +00:00
|
|
|
const UpgradeTurboHeight = 203000
|
2021-05-06 05:44:11 +00:00
|
|
|
const UpgradeHyperdriveHeight = 999999999
|
2021-02-03 03:06:43 +00:00
|
|
|
|
|
|
|
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
|
2021-04-09 06:58:22 +00:00
|
|
|
|
|
|
|
var WhitelistedBlock = cid.Undef
|