Struct solana_sdk::genesis_config::GenesisConfig
source · [−]pub struct GenesisConfig {Show 13 fields
pub creation_time: UnixTimestamp,
pub accounts: BTreeMap<Pubkey, Account>,
pub native_instruction_processors: Vec<(String, Pubkey)>,
pub rewards_pools: BTreeMap<Pubkey, Account>,
pub ticks_per_slot: u64,
pub unused: u64,
pub poh_config: PohConfig,
pub __backwards_compat_with_v0_23: u64,
pub fee_rate_governor: FeeRateGovernor,
pub rent: Rent,
pub inflation: Inflation,
pub epoch_schedule: EpochSchedule,
pub cluster_type: ClusterType,
}
Fields
creation_time: UnixTimestamp
when the network (bootstrap validator) was started relative to the UNIX Epoch
accounts: BTreeMap<Pubkey, Account>
initial accounts
native_instruction_processors: Vec<(String, Pubkey)>
built-in programs
rewards_pools: BTreeMap<Pubkey, Account>
accounts for network rewards, these do not count towards capitalization
ticks_per_slot: u64
unused: u64
poh_config: PohConfig
network speed configuration
__backwards_compat_with_v0_23: u64
this field exists only to ensure that the binary layout of GenesisConfig remains compatible with the Solana v0.23 release line
fee_rate_governor: FeeRateGovernor
transaction fee config
rent: Rent
rent config
inflation: Inflation
inflation config
epoch_schedule: EpochSchedule
how slots map to epochs
cluster_type: ClusterType
network runlevel
Implementations
sourceimpl GenesisConfig
impl GenesisConfig
pub fn new(
accounts: &[(Pubkey, AccountSharedData)],
native_instruction_processors: &[(String, Pubkey)]
) -> Self
pub fn hash(&self) -> Hash
pub fn load(ledger_path: &Path) -> Result<Self, Error>
pub fn write(&self, ledger_path: &Path) -> Result<(), Error>
pub fn add_account(&mut self, pubkey: Pubkey, account: AccountSharedData)
pub fn add_native_instruction_processor(
&mut self,
name: String,
program_id: Pubkey
)
pub fn hashes_per_tick(&self) -> Option<u64>
pub fn ticks_per_slot(&self) -> u64
pub fn ns_per_slot(&self) -> u128
pub fn slots_per_year(&self) -> f64
Trait Implementations
sourceimpl AbiExample for GenesisConfig
impl AbiExample for GenesisConfig
sourceimpl Clone for GenesisConfig
impl Clone for GenesisConfig
sourcefn clone(&self) -> GenesisConfig
fn clone(&self) -> GenesisConfig
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for GenesisConfig
impl Debug for GenesisConfig
sourceimpl Default for GenesisConfig
impl Default for GenesisConfig
sourceimpl<'de> Deserialize<'de> for GenesisConfig
impl<'de> Deserialize<'de> for GenesisConfig
sourcefn 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>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Display for GenesisConfig
impl Display for GenesisConfig
sourceimpl Serialize for GenesisConfig
impl Serialize for GenesisConfig
Auto Trait Implementations
impl RefUnwindSafe for GenesisConfig
impl Send for GenesisConfig
impl Sync for GenesisConfig
impl Unpin for GenesisConfig
impl UnwindSafe for GenesisConfig
Blanket Implementations
sourceimpl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized,
impl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized,
default fn visit_for_abi(
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
sourceimpl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
impl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
default fn visit_for_abi(
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
sourceimpl<T> AbiExample for T
impl<T> AbiExample for T
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more