lotus/build/params.go

88 lines
1.4 KiB
Go
Raw Normal View History

2019-08-26 18:23:11 +00:00
package build
import "math/big"
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
2019-09-24 10:30:48 +00:00
const SectorSize = 16 << 20
2019-08-26 18:23:11 +00:00
2019-09-24 11:16:05 +00:00
// /////
// Payments
2019-09-19 16:17:49 +00:00
// Blocks
2019-09-09 13:55:06 +00:00
const PaymentChannelClosingDelay = 6 * 60 * 2 // six hours
2019-09-19 16:17:49 +00:00
// Blocks
2019-09-09 19:21:37 +00:00
const DealVoucherSkewLimit = 10
2019-09-24 21:13:47 +00:00
// Blocks
const MinDealVoucherIncrement = ProvingPeriodDuration
const MaxVouchersPerDeal = 768 // roughly one voucher per 10h over a year
2019-09-24 11:16:05 +00:00
// /////
// Consensus / Network
// Seconds
2019-09-25 18:40:10 +00:00
const BlockDelay = 6
2019-09-24 11:16:05 +00:00
// Seconds
const AllowableClockDrift = BlockDelay * 2
2019-09-19 16:17:49 +00:00
// Blocks
2019-09-03 17:45:55 +00:00
const ForkLengthThreshold = 20
2019-09-19 16:17:49 +00:00
2019-09-24 11:16:05 +00:00
// /////
// Proofs / Mining
2019-09-19 16:17:49 +00:00
// Blocks
const RandomnessLookback = 20
2019-09-03 17:45:55 +00:00
2019-09-19 16:17:49 +00:00
// Blocks
2019-09-25 18:40:10 +00:00
const ProvingPeriodDuration = 40
2019-09-24 11:16:05 +00:00
// Blocks
2019-09-25 18:40:10 +00:00
const PoSTChallangeTime = 20
const PowerCollateralProportion = 20
const PerCapitaCollateralProportion = 5
const CollateralPrecision = 100
2019-09-24 11:16:05 +00:00
// /////
// Devnet settings
const TotalFilecoin = 2000000000
2019-09-21 00:22:28 +00:00
const MiningRewardTotal = 1400000000
const InitialRewardStr = "153856870367821447423"
var InitialReward *big.Int
const FilecoinPrecision = 1000000000000000000
2019-09-12 04:12:35 +00:00
2019-09-21 00:22:28 +00:00
// six years
// Blocks
2019-09-21 00:22:28 +00:00
const HalvingPeriodBlocks = 6 * 365 * 24 * 60 * 2
// Blocks
2019-09-21 00:22:28 +00:00
const AdjustmentPeriod = 7 * 24 * 60 * 2
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")
}
}