diff --git a/build/params_2k.go b/build/params_2k.go index 485f7bec008..b9db0a46703 100644 --- a/build/params_2k.go +++ b/build/params_2k.go @@ -12,7 +12,6 @@ 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" - miner6 "github.com/filecoin-project/specs-actors/v6/actors/builtin/miner" ) const BootstrappersFile = "" @@ -92,8 +91,6 @@ func init() { BuildType |= Build2k - // To test out what this proposal would like on devnets / testnets: https://github.com/filecoin-project/FIPs/pull/190 - miner6.FaultMaxAge = miner6.WPoStProvingPeriod * 42 } const BlockDelaySecs = uint64(4) diff --git a/build/params_butterfly.go b/build/params_butterfly.go index 70d1cff9599..9a0018e73a2 100644 --- a/build/params_butterfly.go +++ b/build/params_butterfly.go @@ -9,7 +9,6 @@ import ( "github.com/filecoin-project/go-state-types/network" "github.com/filecoin-project/lotus/chain/actors/policy" builtin2 "github.com/filecoin-project/specs-actors/v2/actors/builtin" - miner6 "github.com/filecoin-project/specs-actors/v6/actors/builtin/miner" "github.com/ipfs/go-cid" ) @@ -54,9 +53,6 @@ func init() { Devnet = true BuildType = BuildButterflynet - - // To test out what this proposal would like on devnets / testnets: https://github.com/filecoin-project/FIPs/pull/190 - miner6.FaultMaxAge = miner6.WPoStProvingPeriod * 42 } const BlockDelaySecs = uint64(builtin2.EpochDurationSeconds) diff --git a/build/params_calibnet.go b/build/params_calibnet.go index be16d08b94b..8cd99d642cc 100644 --- a/build/params_calibnet.go +++ b/build/params_calibnet.go @@ -9,7 +9,6 @@ import ( "github.com/filecoin-project/go-state-types/network" "github.com/filecoin-project/lotus/chain/actors/policy" builtin2 "github.com/filecoin-project/specs-actors/v2/actors/builtin" - miner6 "github.com/filecoin-project/specs-actors/v6/actors/builtin/miner" "github.com/ipfs/go-cid" ) @@ -68,8 +67,6 @@ func init() { BuildType = BuildCalibnet - // To test out what this proposal would like on devnets / testnets: https://github.com/filecoin-project/FIPs/pull/190 - miner6.FaultMaxAge = miner6.WPoStProvingPeriod * 42 } const BlockDelaySecs = uint64(builtin2.EpochDurationSeconds) diff --git a/build/params_interop.go b/build/params_interop.go index e928da8a0dc..de5ee9a12c8 100644 --- a/build/params_interop.go +++ b/build/params_interop.go @@ -12,10 +12,8 @@ import ( "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-state-types/abi" "github.com/filecoin-project/go-state-types/network" - builtin2 "github.com/filecoin-project/specs-actors/v2/actors/builtin" - miner6 "github.com/filecoin-project/specs-actors/v6/actors/builtin/miner" - "github.com/filecoin-project/lotus/chain/actors/policy" + builtin2 "github.com/filecoin-project/specs-actors/v2/actors/builtin" ) const BootstrappersFile = "interopnet.pi" @@ -99,8 +97,6 @@ func init() { SetAddressNetwork(address.Testnet) Devnet = true - // To test out what this proposal would like on devnets / testnets: https://github.com/filecoin-project/FIPs/pull/190 - miner6.FaultMaxAge = miner6.WPoStProvingPeriod * 42 } const BlockDelaySecs = uint64(builtin2.EpochDurationSeconds) diff --git a/build/params_mainnet.go b/build/params_mainnet.go index e6b730335c8..0c8c53ba8cf 100644 --- a/build/params_mainnet.go +++ b/build/params_mainnet.go @@ -64,8 +64,8 @@ const UpgradeTurboHeight = 712320 // 2021-06-30T22:00:00Z var UpgradeHyperdriveHeight = abi.ChainEpoch(892800) -// ??? -var UpgradeChocolateHeight = abi.ChainEpoch(999999999) +// 2021-10-26T13:30:00Z +var UpgradeChocolateHeight = abi.ChainEpoch(1231620) func init() { if os.Getenv("LOTUS_USE_TEST_ADDRESSES") != "1" { diff --git a/build/params_nerpanet.go b/build/params_nerpanet.go new file mode 100644 index 00000000000..0e2913adcab --- /dev/null +++ b/build/params_nerpanet.go @@ -0,0 +1,87 @@ +//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 + +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 + + 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 diff --git a/cmd/lotus-miner/actor.go b/cmd/lotus-miner/actor.go index 43af395b1cb..c5c9f572afb 100644 --- a/cmd/lotus-miner/actor.go +++ b/cmd/lotus-miner/actor.go @@ -282,7 +282,8 @@ var actorWithdrawCmd = &cli.Command{ fmt.Printf("Requested rewards withdrawal in message %s\n", smsg.Cid()) // wait for it to get mined into a block - fmt.Printf("waiting for %x epochs for confirmation..\n", uint64(cctx.Int("confidence"))) + fmt.Printf("waiting for %d epochs for confirmation..\n", uint64(cctx.Int("confidence"))) + wait, err := api.StateWaitMsg(ctx, smsg.Cid(), uint64(cctx.Int("confidence"))) if err != nil { return err diff --git a/go.mod b/go.mod index 66eedb88eae..60025d5ec01 100644 --- a/go.mod +++ b/go.mod @@ -49,7 +49,7 @@ require ( github.com/filecoin-project/specs-actors/v3 v3.1.1 github.com/filecoin-project/specs-actors/v4 v4.0.1 github.com/filecoin-project/specs-actors/v5 v5.0.4 - github.com/filecoin-project/specs-actors/v6 v6.0.0-20211001193936-c3afe7fa3c5c + github.com/filecoin-project/specs-actors/v6 v6.0.0-20211007184712-855f60561dfc github.com/filecoin-project/specs-storage v0.1.1-0.20201105051918-5188d9774506 github.com/filecoin-project/test-vectors/schema v0.0.5 github.com/gbrlsnchs/jwt/v3 v3.0.1 diff --git a/go.sum b/go.sum index b6dd30d8ffa..8c14d954628 100644 --- a/go.sum +++ b/go.sum @@ -391,8 +391,8 @@ github.com/filecoin-project/specs-actors/v4 v4.0.1/go.mod h1:TkHXf/l7Wyw4ZejyXIP github.com/filecoin-project/specs-actors/v5 v5.0.0-20210512015452-4fe3889fff57/go.mod h1:283yBMMUSDB2abcjP/hhrwTkhb9h3sfM6KGrep/ZlBI= github.com/filecoin-project/specs-actors/v5 v5.0.4 h1:OY7BdxJWlUfUFXWV/kpNBYGXNPasDIedf42T3sGx08s= github.com/filecoin-project/specs-actors/v5 v5.0.4/go.mod h1:5BAKRAMsOOlD8+qCw4UvT/lTLInCJ3JwOWZbX8Ipwq4= -github.com/filecoin-project/specs-actors/v6 v6.0.0-20211001193936-c3afe7fa3c5c h1:29m9oz0AP3TglBFC9Sii9M3skIAbhZhZr+2FyomSTTo= -github.com/filecoin-project/specs-actors/v6 v6.0.0-20211001193936-c3afe7fa3c5c/go.mod h1:V1AYfi5GkHXipx1mnVivoICZh3wtwPxDVuds+fbfQtk= +github.com/filecoin-project/specs-actors/v6 v6.0.0-20211007184712-855f60561dfc h1:1oeH5dJHNC8VdyYGfu1pr2/L86825hPiVMaV477msho= +github.com/filecoin-project/specs-actors/v6 v6.0.0-20211007184712-855f60561dfc/go.mod h1:V1AYfi5GkHXipx1mnVivoICZh3wtwPxDVuds+fbfQtk= github.com/filecoin-project/specs-storage v0.1.1-0.20201105051918-5188d9774506 h1:Ur/l2+6qN+lQiqjozWWc5p9UDaAMDZKTlDS98oRnlIw= github.com/filecoin-project/specs-storage v0.1.1-0.20201105051918-5188d9774506/go.mod h1:nJRRM7Aa9XVvygr3W9k6xGF46RWzr2zxF/iGoAIfA/g= github.com/filecoin-project/test-vectors/schema v0.0.5 h1:w3zHQhzM4pYxJDl21avXjOKBLF8egrvwUwjpT8TquDg=