pub struct Genesis {Show 13 fields
pub config: ChainConfig,
pub nonce: u64,
pub timestamp: u64,
pub extra_data: Bytes,
pub gas_limit: u64,
pub difficulty: U256,
pub mix_hash: B256,
pub coinbase: Address,
pub alloc: BTreeMap<Address, GenesisAccount>,
pub base_fee_per_gas: Option<u128>,
pub excess_blob_gas: Option<u128>,
pub blob_gas_used: Option<u128>,
pub number: Option<u64>,
}
Expand description
The genesis block specification.
Fields§
§config: ChainConfig
The fork configuration for this network.
nonce: u64
The genesis header nonce.
timestamp: u64
The genesis header timestamp.
extra_data: Bytes
The genesis header extra data.
gas_limit: u64
The genesis header gas limit.
difficulty: U256
The genesis header difficulty.
mix_hash: B256
The genesis header mix hash.
coinbase: Address
The genesis header coinbase address.
alloc: BTreeMap<Address, GenesisAccount>
The initial state of accounts in the genesis block.
base_fee_per_gas: Option<u128>
The genesis header base fee
excess_blob_gas: Option<u128>
The genesis header excess blob gas
blob_gas_used: Option<u128>
The genesis header blob gas used
number: Option<u64>
The genesis block number
Implementations§
source§impl Genesis
impl Genesis
sourcepub fn clique_genesis(chain_id: u64, signer_addr: Address) -> Self
pub fn clique_genesis(chain_id: u64, signer_addr: Address) -> Self
Creates a chain config for Clique using the given chain id and funds the given address with max coins.
Enables all hard forks up to London at genesis.
sourcepub const fn with_nonce(self, nonce: u64) -> Self
pub const fn with_nonce(self, nonce: u64) -> Self
Set the nonce.
sourcepub const fn with_timestamp(self, timestamp: u64) -> Self
pub const fn with_timestamp(self, timestamp: u64) -> Self
Set the timestamp.
sourcepub fn with_extra_data(self, extra_data: Bytes) -> Self
pub fn with_extra_data(self, extra_data: Bytes) -> Self
Set the extra data.
sourcepub const fn with_gas_limit(self, gas_limit: u64) -> Self
pub const fn with_gas_limit(self, gas_limit: u64) -> Self
Set the gas limit.
sourcepub const fn with_difficulty(self, difficulty: U256) -> Self
pub const fn with_difficulty(self, difficulty: U256) -> Self
Set the difficulty.
sourcepub const fn with_mix_hash(self, mix_hash: B256) -> Self
pub const fn with_mix_hash(self, mix_hash: B256) -> Self
Set the mix hash of the header.
sourcepub const fn with_coinbase(self, address: Address) -> Self
pub const fn with_coinbase(self, address: Address) -> Self
Set the coinbase address.
sourcepub const fn with_base_fee(self, base_fee: Option<u128>) -> Self
pub const fn with_base_fee(self, base_fee: Option<u128>) -> Self
Set the base fee.
sourcepub const fn with_excess_blob_gas(self, excess_blob_gas: Option<u128>) -> Self
pub const fn with_excess_blob_gas(self, excess_blob_gas: Option<u128>) -> Self
Set the excess blob gas.
sourcepub const fn with_blob_gas_used(self, blob_gas_used: Option<u128>) -> Self
pub const fn with_blob_gas_used(self, blob_gas_used: Option<u128>) -> Self
Set the blob gas used.
sourcepub fn extend_accounts(
self,
accounts: impl IntoIterator<Item = (Address, GenesisAccount)>,
) -> Self
pub fn extend_accounts( self, accounts: impl IntoIterator<Item = (Address, GenesisAccount)>, ) -> Self
Add accounts to the genesis block. If the address is already present, the account is updated.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Genesis
impl<'de> Deserialize<'de> for Genesis
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Genesis
impl StructuralPartialEq for Genesis
Auto Trait Implementations§
impl !Freeze for Genesis
impl RefUnwindSafe for Genesis
impl Send for Genesis
impl Sync for Genesis
impl Unpin for Genesis
impl UnwindSafe for Genesis
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)