lotus/build/params_shared.go

113 lines
2.0 KiB
Go
Raw Normal View History

2019-08-26 18:23:11 +00:00
package build
import (
"math/big"
2020-02-10 18:21:10 +00:00
"github.com/filecoin-project/specs-actors/actors/abi"
)
2019-08-26 18:23:11 +00:00
// Core network constants
2019-09-24 11:16:05 +00:00
// /////
// Storage
2019-08-26 18:23:11 +00:00
const UnixfsChunkSize uint64 = 1 << 20
2019-08-27 22:10:23 +00:00
const UnixfsLinksPerLevel = 1024
2020-02-10 18:21:10 +00:00
func SupportedSectorSize(ssize abi.SectorSize) bool {
for _, ss := range SectorSizes {
if ssize == ss {
return true
}
}
return false
}
2019-08-26 18:23:11 +00:00
const SectorChallengeRatioDiv = 25
2019-09-24 11:16:05 +00:00
// /////
// Payments
2019-11-28 12:46:56 +00:00
// Epochs
2019-12-10 10:52:24 +00:00
const PaymentChannelClosingDelay = 6 * 60 * 60 / BlockDelay // six hours
2019-09-09 13:55:06 +00:00
2019-09-24 11:16:05 +00:00
// /////
// Consensus / Network
// Seconds
const AllowableClockDrift = 1
2019-09-24 11:16:05 +00:00
2019-11-28 12:46:56 +00:00
// Epochs
2019-11-15 00:20:39 +00:00
const ForkLengthThreshold = Finality
2019-09-19 16:17:49 +00:00
2019-10-13 01:18:59 +00:00
// Blocks (e)
const BlocksPerEpoch = 5
2019-10-13 01:18:59 +00:00
2019-11-28 12:46:56 +00:00
// Epochs
const Finality = 500
// constants for Weight calculation
// The ratio of weight contributed by short-term vs long-term factors in a given round
const WRatioNum = int64(1)
const WRatioDen = 2
2019-09-24 11:16:05 +00:00
// /////
// Proofs
2019-09-24 11:16:05 +00:00
2019-11-28 12:46:56 +00:00
// Epochs
const SealRandomnessLookback = Finality
2019-11-28 12:46:56 +00:00
// Epochs
2019-11-05 16:15:52 +00:00
const SealRandomnessLookbackLimit = SealRandomnessLookback + 2000
// Maximum lookback that randomness can be sourced from for a seal proof submission
const MaxSealLookback = SealRandomnessLookbackLimit + 2000
// /////
// Mining
2019-09-24 11:16:05 +00:00
2019-11-28 12:46:56 +00:00
// Epochs
const EcRandomnessLookback = 300
2019-10-17 00:43:38 +00:00
const PowerCollateralProportion = 5
const PerCapitaCollateralProportion = 1
const CollateralPrecision = 1000
2019-09-24 11:16:05 +00:00
// /////
// Devnet settings
2019-11-08 08:40:02 +00:00
const TotalFilecoin = 2_000_000_000
const MiningRewardTotal = 1_400_000_000
const InitialRewardStr = "153856861913558700202"
var InitialReward *big.Int
2019-11-08 08:40:02 +00:00
const FilecoinPrecision = 1_000_000_000_000_000_000
2019-09-12 04:12:35 +00:00
2019-08-26 18:23:11 +00:00
// TODO: Move other important consts here
func init() {
InitialReward = new(big.Int)
var ok bool
InitialReward, ok = InitialReward.
SetString(InitialRewardStr, 10)
if !ok {
panic("could not parse InitialRewardStr")
}
}
2019-10-09 12:55:27 +00:00
// Sync
const BadBlockCacheSize = 1 << 15
2019-11-28 12:46:56 +00:00
// assuming 4000 messages per round, this lets us not lose any messages across a
// 10 block reorg.
const BlsSignatureCacheSize = 40000
// ///////
// Limits
const BlockMessageLimit = 512
const MinerMaxSectors = 1 << 48