Documentation ¶
Index ¶
- Variables
- func AVAXAssetID(avmGenesisBytes []byte) (ids.ID, error)
- func Aliases(genesisBytes []byte) (map[string][]string, map[ids.ID][]string, map[ids.ID][]string, error)
- func FromConfig(config *Config) ([]byte, ids.ID, error)
- func Genesis(networkID uint32) ([]byte, ids.ID, error)
- func SampleBeacons(networkID uint32, count int) ([]string, []string)
- func VMGenesis(networkID uint32, vmID ids.ID) (*platformvm.Tx, error)
- type Allocation
- type Config
- type LockedAmount
- type Params
- type Staker
- type UnparsedAllocation
- type UnparsedConfig
- type UnparsedStaker
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // FujiParams are the params used for the fuji testnet FujiParams = Params{ TxFee: units.MilliAvax, CreationTxFee: 10 * units.MilliAvax, UptimeRequirement: .6, MinValidatorStake: 1 * units.Avax, MaxValidatorStake: 3 * units.MegaAvax, MinDelegatorStake: 1 * units.Avax, MinDelegationFee: 20000, MinStakeDuration: 24 * time.Hour, MaxStakeDuration: 365 * 24 * time.Hour, StakeMintingPeriod: 365 * 24 * time.Hour, EpochFirstTransition: time.Unix(1607626800, 0), EpochDuration: 6 * time.Hour, ApricotPhase0Time: time.Date(2020, 12, 5, 5, 00, 0, 0, time.UTC), } )
View Source
var ( // LocalParams are the params used for local networks LocalParams = Params{ TxFee: units.MilliAvax, CreationTxFee: 10 * units.MilliAvax, UptimeRequirement: .6, MinValidatorStake: 1 * units.Avax, MaxValidatorStake: 3 * units.MegaAvax, MinDelegatorStake: 1 * units.Avax, MinDelegationFee: 20000, MinStakeDuration: 24 * time.Hour, MaxStakeDuration: 365 * 24 * time.Hour, StakeMintingPeriod: 365 * 24 * time.Hour, EpochFirstTransition: time.Unix(1607626800, 0), EpochDuration: 5 * time.Minute, ApricotPhase0Time: time.Date(2020, 12, 5, 5, 00, 0, 0, time.UTC), } )
View Source
var ( // MainnetParams are the params used for mainnet MainnetParams = Params{ TxFee: units.MilliAvax, CreationTxFee: 10 * units.MilliAvax, UptimeRequirement: .6, MinValidatorStake: 2 * units.KiloAvax, MaxValidatorStake: 3 * units.MegaAvax, MinDelegatorStake: 25 * units.Avax, MinDelegationFee: 20000, MinStakeDuration: 2 * 7 * 24 * time.Hour, MaxStakeDuration: 365 * 24 * time.Hour, StakeMintingPeriod: 365 * 24 * time.Hour, EpochFirstTransition: time.Unix(1607626800, 0), EpochDuration: 6 * time.Hour, ApricotPhase0Time: time.Date(2020, 12, 8, 3, 00, 0, 0, time.UTC), } )
Functions ¶
func Aliases ¶
func Aliases(genesisBytes []byte) (map[string][]string, map[ids.ID][]string, map[ids.ID][]string, error)
Aliases returns the default aliases based on the network ID
func FromConfig ¶
FromConfig returns:
- The byte representation of the genesis state of the platform chain (ie the genesis state of the network)
- The asset ID of AVAX
func Genesis ¶
Genesis returns:
- The byte representation of the genesis state of the platform chain (ie the genesis state of the network)
- The asset ID of AVAX
func SampleBeacons ¶
SampleBeacons returns the some beacons this node should connect to
Types ¶
type Allocation ¶
type Allocation struct { ETHAddr ids.ShortID `json:"ethAddr"` AVAXAddr ids.ShortID `json:"avaxAddr"` InitialAmount uint64 `json:"initialAmount"` UnlockSchedule []LockedAmount `json:"unlockSchedule"` }
Allocation ...
func (Allocation) Unparse ¶
func (a Allocation) Unparse(networkID uint32) (UnparsedAllocation, error)
Unparse ...
type Config ¶
type Config struct { NetworkID uint32 `json:"networkID"` Allocations []Allocation `json:"allocations"` StartTime uint64 `json:"startTime"` InitialStakeDuration uint64 `json:"initialStakeDuration"` InitialStakeDurationOffset uint64 `json:"initialStakeDurationOffset"` InitialStakedFunds []ids.ShortID `json:"unitialStakedFunds"` InitialStakers []Staker `json:"initialStakers"` CChainGenesis string `json:"cChainGenesis"` Message string `json:"message"` }
Config contains the genesis addresses used to construct a genesis
var ( // MainnetConfig is the config that should be used to generate the mainnet // genesis. MainnetConfig Config // FujiConfig is the config that should be used to generate the fuji // genesis. FujiConfig Config // LocalConfig is the config that should be used to generate a local // genesis. LocalConfig Config )
type LockedAmount ¶
LockedAmount ...
type Params ¶
type Params struct { // Transaction fee TxFee uint64 // Transaction fee for transactions that create new state CreationTxFee uint64 // Staking uptime requirements UptimeRequirement float64 // Minimum stake, in nAVAX, required to validate the primary network MinValidatorStake uint64 // Maximum stake, in nAVAX, allowed to be placed on a single validator in // the primary network MaxValidatorStake uint64 // Minimum stake, in nAVAX, that can be delegated on the primary network MinDelegatorStake uint64 // Minimum delegation fee, in the range [0, 1000000], that can be charged // for delegation on the primary network. MinDelegationFee uint32 // MinStakeDuration is the minimum amount of time a validator can validate // for in a single period. MinStakeDuration time.Duration // MaxStakeDuration is the maximum amount of time a validator can validate // for in a single period. MaxStakeDuration time.Duration // StakeMintingPeriod is the amount of time for a consumption period. StakeMintingPeriod time.Duration // EpochFirstTransition is the time that the transition from epoch 0 to 1 // should occur. EpochFirstTransition time.Time // EpochDuration is the amount of time that an epoch runs for. EpochDuration time.Duration // Time that Apricot phase 0 rules go into effect ApricotPhase0Time time.Time }
Params ...
type Staker ¶
type Staker struct { NodeID ids.ShortID `json:"nodeID"` RewardAddress ids.ShortID `json:"rewardAddress"` DelegationFee uint32 `json:"delegationFee"` }
Staker ...
type UnparsedAllocation ¶
type UnparsedAllocation struct { ETHAddr string `json:"ethAddr"` AVAXAddr string `json:"avaxAddr"` InitialAmount uint64 `json:"initialAmount"` UnlockSchedule []LockedAmount `json:"unlockSchedule"` }
UnparsedAllocation ...
func (UnparsedAllocation) Parse ¶
func (ua UnparsedAllocation) Parse() (Allocation, error)
Parse ...
type UnparsedConfig ¶
type UnparsedConfig struct { NetworkID uint32 `json:"networkID"` Allocations []UnparsedAllocation `json:"allocations"` StartTime uint64 `json:"startTime"` InitialStakeDuration uint64 `json:"initialStakeDuration"` InitialStakeDurationOffset uint64 `json:"initialStakeDurationOffset"` InitialStakedFunds []string `json:"initialStakedFunds"` InitialStakers []UnparsedStaker `json:"initialStakers"` CChainGenesis string `json:"cChainGenesis"` Message string `json:"message"` }
UnparsedConfig contains the genesis addresses used to construct a genesis
type UnparsedStaker ¶
type UnparsedStaker struct { NodeID string `json:"nodeID"` RewardAddress string `json:"rewardAddress"` DelegationFee uint32 `json:"delegationFee"` }
UnparsedStaker ...
Click to show internal directories.
Click to hide internal directories.