Documentation
¶
Index ¶
- Variables
- func GetGenesisAccountBalance(address types.Address, allocations map[types.Address]*GenesisAccount) (*big.Int, error)
- type AllowListConfig
- type Chain
- type Fork
- type Forks
- func (f *Forks) At(block uint64) ForksInTime
- func (f *Forks) IsByzantium(block uint64) bool
- func (f *Forks) IsConstantinople(block uint64) bool
- func (f *Forks) IsEIP150(block uint64) bool
- func (f *Forks) IsEIP155(block uint64) bool
- func (f *Forks) IsEIP158(block uint64) bool
- func (f *Forks) IsHomestead(block uint64) bool
- func (f *Forks) IsLondon(block uint64) bool
- func (f *Forks) IsPetersburg(block uint64) bool
- type ForksInTime
- type Genesis
- type GenesisAccount
- type Params
- type Whitelists
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // GenesisGasLimit is the default gas limit of the Genesis block. GenesisGasLimit uint64 = 4712388 // GenesisDifficulty is the default difficulty of the Genesis block. GenesisDifficulty = big.NewInt(131072) )
Functions ¶
func GetGenesisAccountBalance ¶
func GetGenesisAccountBalance(address types.Address, allocations map[types.Address]*GenesisAccount) (*big.Int, error)
GetGenesisAccountBalance returns balance for genesis account based on its address (expressed in weis). If not found in provided allocations map, 0 is returned.
Types ¶
type AllowListConfig ¶
type Chain ¶
type Chain struct {
Name string `json:"name"`
Genesis *Genesis `json:"genesis"`
Params *Params `json:"params"`
Bootnodes []string `json:"bootnodes,omitempty"`
}
Chain is the blockchain chain configuration
func ImportFromFile ¶
ImportFromFile imports a chain from a filepath
type Forks ¶
type Forks struct {
Homestead *Fork `json:"homestead,omitempty"`
Byzantium *Fork `json:"byzantium,omitempty"`
Constantinople *Fork `json:"constantinople,omitempty"`
Petersburg *Fork `json:"petersburg,omitempty"`
Istanbul *Fork `json:"istanbul,omitempty"`
London *Fork `json:"london,omitempty"`
EIP150 *Fork `json:"EIP150,omitempty"`
EIP158 *Fork `json:"EIP158,omitempty"`
EIP155 *Fork `json:"EIP155,omitempty"`
}
Forks specifies when each fork is activated
func (*Forks) At ¶
func (f *Forks) At(block uint64) ForksInTime
func (*Forks) IsByzantium ¶
func (*Forks) IsConstantinople ¶
func (*Forks) IsHomestead ¶
func (*Forks) IsPetersburg ¶
type ForksInTime ¶
type ForksInTime struct {
Homestead,
Byzantium,
Constantinople,
Petersburg,
Istanbul,
London,
EIP150,
EIP158,
EIP155 bool
}
type Genesis ¶
type Genesis struct {
Config *Params `json:"config"`
Nonce [8]byte `json:"nonce"`
Timestamp uint64 `json:"timestamp"`
ExtraData []byte `json:"extraData,omitempty"`
GasLimit uint64 `json:"gasLimit"`
Difficulty uint64 `json:"difficulty"`
Mixhash types.Hash `json:"mixHash"`
Coinbase types.Address `json:"coinbase"`
Alloc map[types.Address]*GenesisAccount `json:"alloc,omitempty"`
// Override
StateRoot types.Hash
// Only for testing
Number uint64 `json:"number"`
GasUsed uint64 `json:"gasUsed"`
ParentHash types.Hash `json:"parentHash"`
}
Genesis specifies the header fields, state of a genesis block
func (*Genesis) GenesisHeader ¶
GenesisHeader converts the initially defined genesis struct to a header
func (*Genesis) MarshalJSON ¶
MarshalJSON implements the json interface
func (*Genesis) UnmarshalJSON ¶
UnmarshalJSON implements the json interface
type GenesisAccount ¶
type GenesisAccount struct {
Code []byte `json:"code,omitempty"`
Storage map[types.Hash]types.Hash `json:"storage,omitempty"`
Balance *big.Int `json:"balance,omitempty"`
Nonce uint64 `json:"nonce,omitempty"`
PrivateKey []byte `json:"secretKey,omitempty"` // for tests
}
GenesisAccount is an account in the state of the genesis block.
func (*GenesisAccount) MarshalJSON ¶
func (g *GenesisAccount) MarshalJSON() ([]byte, error)
func (*GenesisAccount) UnmarshalJSON ¶
func (g *GenesisAccount) UnmarshalJSON(data []byte) error
type Params ¶
type Params struct {
Forks *Forks `json:"forks"`
ChainID int64 `json:"chainID"`
Engine map[string]interface{} `json:"engine"`
Whitelists *Whitelists `json:"whitelists,omitempty"`
BlockGasTarget uint64 `json:"blockGasTarget"`
// AllowList configuration
ContractDeployerAllowList *AllowListConfig `json:"contractDeployerAllowListConfig,omitempty"`
}
Params are all the set of params for the chain
type Whitelists ¶
Whitelists specifies supported whitelists
Click to show internal directories.
Click to hide internal directories.