Documentation ¶
Index ¶
- Constants
- Variables
- func BlocksTopic(netName dtypes.NetworkName) string
- func BuiltinBootstrap() ([]peer.AddrInfo, error)
- func DhtProtocolName(netName dtypes.NetworkName) protocol.ID
- func DrandConfigSchedule() dtypes.DrandSchedule
- func IsNearUpgrade(epoch, upgradeEpoch abi.ChainEpoch) bool
- func MaybeGenesis() []byte
- func MessagesTopic(netName dtypes.NetworkName) string
- func MustParseAddress(addr string) address.Address
- func ParametersJSON() []byte
- func SetAddressNetwork(n address.Network)
- func UserVersion() string
- type DrandEnum
Constants ¶
const ( BuildDefault = 0 BuildMainnet = 0x1 Build2k = 0x2 BuildDebug = 0x3 BuildCalibnet = 0x4 )
const AddressMainnetEnvVar = "_mainnet_"
const AllowableClockDriftSecs = uint64(1)
const BadBlockCacheSize = 1 << 15
Sync
const BaseFeeMaxChangeDenom = 8 // 12.5%
const BlockDelaySecs = uint64(builtin2.EpochDurationSeconds)
const BlockGasLimit = 100_000_000_000
const BlockGasTarget = BlockGasLimit / 20
const BlockMessageLimit = 10000
TODO: If this is gonna stay, it should move to specs-actors
const BlsSignatureCacheSize = 40000
assuming 4000 messages per round, this lets us not lose any messages across a 10 block reorg.
const BootstrapPeerThreshold = 1
BootstrapPeerThreshold is the minimum number peers we need to track for a sync worker to start
const BootstrappersFile = "bootstrappers.pi"
const BuildVersion = "1.5.2"
BuildVersion is the local build version, set by build system
const EpkAllocStorageMining = uint64(700_000_000)
const EpkBase = uint64(1_000_000_000)
const EpkPrecision = uint64(1_000_000_000_000_000_000)
const Finality = policy.ChainFinality
Epochs
const ForkLengthThreshold = Finality
Epochs
const GenesisFile = "mainnet.car"
const InitialBaseFee = 100e6
const MessageConfidence = uint64(5)
const MinimumBaseFee = 100
const NewestNetworkVersion = network.Version10
const PackingEfficiencyDenom = 5
const PackingEfficiencyNum = 4
const PropagationDelaySecs = uint64(6)
const SealRandomnessLookback = policy.SealRandomnessLookback
Epochs TODO: unused
const TicketRandomnessLookback = abi.ChainEpoch(1)
Epochs
const UnixfsChunkSize uint64 = 1 << 20
const UnixfsLinksPerLevel = 1024
const VerifSigCacheSize = 32000
Size of signature verification cache 32k keeps the cache around 10MB in size, max
const WRatioDen = uint64(2)
const WRatioNum = int64(1)
constants for Weight calculation The ratio of weight contributed by short-term vs long-term factors in a given round
Variables ¶
var BlocksPerEpoch = uint64(builtin2.ExpectedLeadersPerEpoch)
Blocks (e)
var BuildType int
var Clock = clock.New()
Clock is the global clock for the system. In standard builds, we use a real-time clock, which maps to the `time` package.
Tests that need control of time can replace this variable with clock.NewMock(). Always use real time for socket/stream deadlines.
var CurrentCommit string
var Devnet = true
var DisableBuiltinAssets = false
DisableBuiltinAssets disables the resolution of go.rice boxes that store built-in assets, such as proof parameters, bootstrap peers, genesis blocks, etc.
When this value is set to true, it is expected that the user will provide any such configurations through the epik API itself.
This is useful when you're using epik as a library, such as to orchestrate test scenarios, or for other purposes where you don't need to use the defaults shipped with the binary.
For this flag to be effective, it must be enabled _before_ instantiating epik.
var DrandConfigs = map[DrandEnum]dtypes.DrandConfig{ DrandMainnet: { Servers: []string{ "https://api.drand.sh", "https://api2.drand.sh", "https://api3.drand.sh", "https://drand.cloudflare.com", }, Relays: []string{ "/dnsaddr/api.drand.sh/", "/dnsaddr/api2.drand.sh/", "/dnsaddr/api3.drand.sh/", }, ChainInfoJSON: `{"public_key":"868f005eb8e6e4ca0a47c8a77ceaa5309a47978a7c71bc5cce96366b5d7a569937c529eeda66c7293784a9402801af31","period":30,"genesis_time":1595431050,"hash":"8990e7a9aaed2ffed73dbd7092123d6f289930540d7651336225dc172e51b2ce","groupHash":"176f93498eac9ca337150b46d21dd58673ea4e3581185f869672e59fa4cb390a"}`, }, DrandTestnet: { Servers: []string{ "https://pl-eu.testnet.drand.sh", "https://pl-us.testnet.drand.sh", "https://pl-sin.testnet.drand.sh", }, Relays: []string{ "/dnsaddr/pl-eu.testnet.drand.sh/", "/dnsaddr/pl-us.testnet.drand.sh/", "/dnsaddr/pl-sin.testnet.drand.sh/", }, ChainInfoJSON: `{"public_key":"922a2e93828ff83345bae533f5172669a26c02dc76d6bf59c80892e12ab1455c229211886f35bb56af6d5bea981024df","period":25,"genesis_time":1590445175,"hash":"84b2234fb34e835dccd048255d7ad3194b81af7d978c3bf157e3469592ae4e02","groupHash":"4dd408e5fdff9323c76a9b6f087ba8fdc5a6da907bd9217d9d10f2287d081957"}`, }, DrandDevnet: { Servers: []string{ "https://dev1.drand.sh", "https://dev2.drand.sh", }, Relays: []string{ "/dnsaddr/dev1.drand.sh/", "/dnsaddr/dev2.drand.sh/", }, ChainInfoJSON: `{"public_key":"8cda589f88914aa728fd183f383980b35789ce81b274e5daee1f338b77d02566ef4d3fb0098af1f844f10f9c803c1827","period":25,"genesis_time":1595348225,"hash":"e73b7dc3c4f6a236378220c0dd6aa110eb16eed26c11259606e07ee122838d4f","groupHash":"567d4785122a5a3e75a9bc9911d7ea807dd85ff76b78dc4ff06b075712898607"}`, }, DrandIncentinet: { ChainInfoJSON: `{"public_key":"8cad0c72c606ab27d36ee06de1d5b2db1faf92e447025ca37575ab3a8aac2eaae83192f846fc9e158bc738423753d000","period":30,"genesis_time":1595873820,"hash":"80c8b872c714f4c00fdd3daa465d5514049f457f01f85a4caf68cdcd394ba039","groupHash":"d9406aaed487f7af71851b4399448e311f2328923d454e971536c05398ce2d9b"}`, }, }
var DrandSchedule = map[abi.ChainEpoch]DrandEnum{ 0: DrandMainnet, }
var InitialRewardBalance *big.Int
var InsecurePoStValidation = false
var ZeroAddress = MustParseAddress("f3yaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaby2smx7a")
the 'f' prefix doesn't matter
Functions ¶
func BlocksTopic ¶
func BlocksTopic(netName dtypes.NetworkName) string
func BuiltinBootstrap ¶
func DhtProtocolName ¶
func DhtProtocolName(netName dtypes.NetworkName) protocol.ID
func DrandConfigSchedule ¶
func DrandConfigSchedule() dtypes.DrandSchedule
func IsNearUpgrade ¶
func IsNearUpgrade(epoch, upgradeEpoch abi.ChainEpoch) bool
func MaybeGenesis ¶
func MaybeGenesis() []byte
func MessagesTopic ¶
func MessagesTopic(netName dtypes.NetworkName) string
func MustParseAddress ¶
func MustParseAddress(addr string) address.Address
func ParametersJSON ¶
func ParametersJSON() []byte
func SetAddressNetwork ¶
func SetAddressNetwork(n address.Network)
func UserVersion ¶
func UserVersion() string