lotus/build/params_shared_vals.go

133 lines
3.1 KiB
Go
Raw Normal View History

//go:build !testground
// +build !testground
2019-08-26 18:23:11 +00:00
package build
import (
"math/big"
"os"
"github.com/filecoin-project/go-address"
2020-10-08 01:09:33 +00:00
"github.com/filecoin-project/go-state-types/abi"
2020-09-10 18:53:10 +00:00
"github.com/filecoin-project/go-state-types/network"
2020-10-08 01:09:33 +00:00
builtin2 "github.com/filecoin-project/specs-actors/v2/actors/builtin"
"github.com/filecoin-project/lotus/chain/actors/policy"
)
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 11:16:05 +00:00
// /////
// Consensus / Network
const AllowableClockDriftSecs = uint64(1)
2021-09-15 15:22:25 +00:00
// TODO: This is still terrible...What's the impact of updating this before mainnet actually upgrades
2021-10-11 20:25:41 +00:00
/* inline-gen template
const NewestNetworkVersion = network.Version{{.latestNetworkVersion}}
/* inline-gen start */
2021-10-11 20:25:41 +00:00
2022-09-06 15:49:29 +00:00
const NewestNetworkVersion = network.Version17
2019-09-24 11:16:05 +00:00
/* inline-gen end */
2021-10-11 20:25:41 +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)
2020-10-08 01:09:33 +00:00
var BlocksPerEpoch = uint64(builtin2.ExpectedLeadersPerEpoch)
2019-10-13 01:18:59 +00:00
2019-11-28 12:46:56 +00:00
// Epochs
2020-09-29 00:28:16 +00:00
const Finality = policy.ChainFinality
2020-06-30 13:58:34 +00:00
const MessageConfidence = uint64(5)
// constants for Weight calculation
// The ratio of weight contributed by short-term vs long-term factors in a given round
const WRatioNum = int64(1)
2020-06-30 13:58:34 +00:00
const WRatioDen = uint64(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
2020-09-29 00:28:16 +00:00
// TODO: unused
const SealRandomnessLookback = policy.SealRandomnessLookback
// /////
// Mining
2019-09-24 11:16:05 +00:00
2019-11-28 12:46:56 +00:00
// Epochs
2020-06-30 13:58:34 +00:00
const TicketRandomnessLookback = abi.ChainEpoch(1)
// /////
// Address
const AddressMainnetEnvVar = "_mainnet_"
// the 'f' prefix doesn't matter
var ZeroAddress = MustParseAddress("f3yaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaby2smx7a")
2019-09-24 11:16:05 +00:00
// /////
// Devnet settings
2020-09-24 21:30:11 +00:00
var Devnet = true
2020-07-27 23:10:13 +00:00
const FilBase = uint64(2_000_000_000)
const FilAllocStorageMining = uint64(1_100_000_000)
2020-06-30 13:58:34 +00:00
const FilecoinPrecision = uint64(1_000_000_000_000_000_000)
const FilReserved = uint64(300_000_000)
2019-09-12 04:12:35 +00:00
2020-03-07 01:33:24 +00:00
var InitialRewardBalance *big.Int
var InitialFilReserved *big.Int
2020-03-07 01:33:24 +00:00
2019-08-26 18:23:11 +00:00
// TODO: Move other important consts here
func init() {
2020-07-27 23:10:13 +00:00
InitialRewardBalance = big.NewInt(int64(FilAllocStorageMining))
2020-06-30 13:58:34 +00:00
InitialRewardBalance = InitialRewardBalance.Mul(InitialRewardBalance, big.NewInt(int64(FilecoinPrecision)))
InitialFilReserved = big.NewInt(int64(FilReserved))
InitialFilReserved = InitialFilReserved.Mul(InitialFilReserved, big.NewInt(int64(FilecoinPrecision)))
if os.Getenv("LOTUS_ADDRESS_TYPE") == AddressMainnetEnvVar {
SetAddressNetwork(address.Mainnet)
}
}
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
// Size of signature verification cache
// 32k keeps the cache around 10MB in size, max
const VerifSigCacheSize = 32000
// ///////
// Limits
2020-05-11 20:19:35 +00:00
// TODO: If this is gonna stay, it should move to specs-actors
2020-08-07 02:16:05 +00:00
const BlockMessageLimit = 10000
2022-07-18 16:36:51 +00:00
var BlockGasLimit = int64(10_000_000_000)
var BlockGasTarget = BlockGasLimit / 2
const BaseFeeMaxChangeDenom = 8 // 12.5%
const InitialBaseFee = 100e6
const MinimumBaseFee = 100
const PackingEfficiencyNum = 4
const PackingEfficiencyDenom = 5
2020-07-28 17:51:47 +00:00
// Actor consts
2020-12-30 08:02:53 +00:00
// TODO: pieceSize unused from actors
var MinDealDuration, MaxDealDuration = policy.DealDurationBounds(0)