Documentation ¶
Index ¶
Constants ¶
const ( MainNetworkID uint64 = 0xa09 TestNetworkID uint64 = 0xfa2 FakeNetworkID uint64 = 0xfa3 DefaultEventGas uint64 = 28000 )
Variables ¶
var DefaultVMConfig = vm.Config{ StatePrecompiles: map[common.Address]vm.PrecompiledStateContract{ evmwriter.ContractAddress: &evmwriter.PreCompiledContract{}, }, }
Functions ¶
This section is empty.
Types ¶
type BlocksMissed ¶
BlocksMissed is information about missed blocks from a staker
type BlocksRules ¶
type BlocksRules struct { MaxBlockGas uint64 // technical hard limit, gas is mostly governed by gas power allocation MaxEmptyBlockSkipPeriod inter.Timestamp }
BlocksRules contains blocks constants
type DagRules ¶
type DagRules struct { MaxParents idx.Event MaxFreeParents idx.Event // maximum number of parents with no gas cost MaxExtraData uint32 }
DagRules of Push DAG (directed acyclic graph).
func DefaultDagRules ¶
func DefaultDagRules() DagRules
type EconomyRules ¶
type EconomyRules struct { BlockMissedSlack idx.Block Gas GasRules MinGasPrice *big.Int ShortGasPower GasPowerRules LongGasPower GasPowerRules }
EconomyRules contains economy constants
func DefaultEconomyRules ¶
func DefaultEconomyRules() EconomyRules
DefaultEconomyRules returns mainnet economy
func FakeEconomyRules ¶
func FakeEconomyRules() EconomyRules
FakeEconomyRules returns fakenet economy
type EpochsRules ¶
func DefaultEpochsRules ¶
func DefaultEpochsRules() EpochsRules
func FakeNetEpochsRules ¶
func FakeNetEpochsRules() EpochsRules
type GasPowerRules ¶
type GasPowerRules struct { AllocPerSec uint64 MaxAllocPeriod inter.Timestamp StartupAllocPeriod inter.Timestamp MinStartupGas uint64 }
GasPowerRules defines gas power rules in the consensus.
func DefaulLongGasPowerRules ¶
func DefaulLongGasPowerRules() GasPowerRules
DefaulLongGasPowerRules is long-window config
func DefaultShortGasPowerRules ¶
func DefaultShortGasPowerRules() GasPowerRules
DefaultShortGasPowerRules is short-window config
func FakeLongGasPowerRules ¶
func FakeLongGasPowerRules() GasPowerRules
FakeLongGasPowerRules is fake long-window config
func FakeShortGasPowerRules ¶
func FakeShortGasPowerRules() GasPowerRules
FakeShortGasPowerRules is fake short-window config
type GasRules ¶
func DefaultGasRules ¶
func DefaultGasRules() GasRules
type Genesis ¶
type Genesis struct { Accounts genesis.Accounts Storage genesis.Storage Delegations genesis.Delegations Blocks genesis.Blocks RawEvmItems genesis.RawEvmItems Validators gpos.Validators FirstEpoch idx.Epoch PrevEpochTime inter.Timestamp Time inter.Timestamp ExtraData []byte TotalSupply *big.Int DriverOwner common.Address Rules Rules Hash func() hash.Hash }
type Rules ¶
type Rules RulesRLP
Rules describes skyhigh net. Note keep track of all the non-copiable variables in Copy()
func FakeNetRules ¶
func FakeNetRules() Rules
func MainNetRules ¶
func MainNetRules() Rules
func TestNetRules ¶
func TestNetRules() Rules
func (Rules) EvmChainConfig ¶
func (r Rules) EvmChainConfig() *ethparams.ChainConfig
EvmChainConfig returns ChainConfig for transactions signing and execution
type RulesRLP ¶
type RulesRLP struct { Name string NetworkID uint64 // Graph options Dag DagRules // Epochs options Epochs EpochsRules // Blockchain options Blocks BlocksRules // Economy options Economy EconomyRules Upgrades Upgrades `rlp:"-"` }