pub struct GenesisConfig {
pub committee: Committee,
pub timestamp: Timestamp,
pub chains: Vec<ChainDescription>,
pub network_name: String,
}Expand description
The initial configuration of a Linera network, defining its genesis state.
Fields§
§committee: CommitteeThe initial committee of validators.
timestamp: TimestampThe timestamp of the genesis block.
chains: Vec<ChainDescription>The descriptions of the chains created at genesis, the first of which is the admin chain.
network_name: StringThe name of the network.
Implementations§
Source§impl GenesisConfig
impl GenesisConfig
Sourcepub fn new(
committee: Committee,
timestamp: Timestamp,
network_name: String,
admin_public_key: AccountPublicKey,
admin_balance: Amount,
) -> GenesisConfig
pub fn new( committee: Committee, timestamp: Timestamp, network_name: String, admin_public_key: AccountPublicKey, admin_balance: Amount, ) -> GenesisConfig
Creates a GenesisConfig with the first chain being the admin chain.
Sourcepub fn add_root_chain(
&mut self,
public_key: AccountPublicKey,
balance: Amount,
) -> ChainDescription
pub fn add_root_chain( &mut self, public_key: AccountPublicKey, balance: Amount, ) -> ChainDescription
Adds a new root chain with the given public key and balance, and returns its description.
Sourcepub fn admin_chain_description(&self) -> &ChainDescription
pub fn admin_chain_description(&self) -> &ChainDescription
Returns the description of the admin chain.
Sourcepub fn admin_chain_id(&self) -> ChainId
pub fn admin_chain_id(&self) -> ChainId
Returns the ID of the admin chain.
Sourcepub async fn initialize_storage<S>(&self, storage: &mut S) -> Result<(), Error>
pub async fn initialize_storage<S>(&self, storage: &mut S) -> Result<(), Error>
Writes the committee, network description and genesis chains to storage.
Sourcepub fn hash(&self) -> CryptoHash
pub fn hash(&self) -> CryptoHash
Returns the cryptographic hash of this genesis configuration.
Sourcepub fn committee_blob(&self) -> Blob
pub fn committee_blob(&self) -> Blob
Returns the committee serialized as a blob.
Sourcepub fn network_description(&self) -> NetworkDescription
pub fn network_description(&self) -> NetworkDescription
Returns the network description derived from this genesis configuration.
Trait Implementations§
impl BcsSignable<'_> for GenesisConfig
Source§impl Clone for GenesisConfig
impl Clone for GenesisConfig
Source§fn clone(&self) -> GenesisConfig
fn clone(&self) -> GenesisConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GenesisConfig
impl Debug for GenesisConfig
Source§impl<'de> Deserialize<'de> for GenesisConfig
impl<'de> Deserialize<'de> for GenesisConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<GenesisConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<GenesisConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for GenesisConfig
impl Serialize for GenesisConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for GenesisConfig
impl RefUnwindSafe for GenesisConfig
impl Send for GenesisConfig
impl Sync for GenesisConfig
impl Unpin for GenesisConfig
impl UnsafeUnpin for GenesisConfig
impl UnwindSafe for GenesisConfig
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
impl<_INNER> AutoTraits for _INNER
impl<'de, T> BcsHashable<'de> for Twhere
T: BcsSignable<'de>,
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§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FromBcsBytes for Twhere
T: DeserializeOwned,
impl<T> FromBcsBytes for Twhere
T: DeserializeOwned,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§impl<'de, T> HasTypeName for Twhere
T: BcsHashable<'de>,
impl<'de, T> HasTypeName for Twhere
T: BcsHashable<'de>,
Source§impl<'de, T, Hasher> Hashable<Hasher> for Twhere
T: BcsHashable<'de>,
Hasher: Write,
impl<'de, T, Hasher> Hashable<Hasher> for Twhere
T: BcsHashable<'de>,
Hasher: Write,
Source§fn write(&self, hasher: &mut Hasher)
fn write(&self, hasher: &mut Hasher)
Self to the given hasher.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
impl<T> MaybeSend for Twhere
T: Send,
impl<T> MaybeSync for Twhere
T: Sync,
Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Post for Twhere
T: Send + 'static,
Source§impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
Source§fn read<'instance>(
&self,
instance: &'instance &mut I,
location: GuestPointer,
length: u32,
) -> Result<Cow<'instance, [u8]>, RuntimeError>
fn read<'instance>( &self, instance: &'instance &mut I, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>
Reads length bytes from memory from the provided location.
Source§fn write(
&mut self,
instance: &mut &mut I,
location: GuestPointer,
bytes: &[u8],
) -> Result<(), RuntimeError>
fn write( &mut self, instance: &mut &mut I, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>
Writes the bytes to memory at the provided location.