pub struct GenericChainSpec<G, E = Option<()>, EHF = ()> { /* private fields */ }
Expand description

A configuration of a chain. Can be used to build a genesis block.

The chain spec is generic over the native RuntimeGenesisConfig struct (G). It is also possible to parametrize chain spec over the extended host functions (EHF). It should be use if runtime is using the non-standard host function during genesis state creation.

Implementations§

source§

impl<G, E, EHF> ChainSpec<G, E, EHF>

source

pub fn boot_nodes(&self) -> &[MultiaddrWithPeerId]

A list of bootnode addresses.

source

pub fn name(&self) -> &str

Spec name.

source

pub fn id(&self) -> &str

Spec id.

source

pub fn telemetry_endpoints(&self) -> &Option<TelemetryEndpoints>

Telemetry endpoints (if any)

source

pub fn protocol_id(&self) -> Option<&str>

Network protocol id.

source

pub fn fork_id(&self) -> Option<&str>

Optional network fork identifier.

source

pub fn properties(&self) -> Map<String, Value>

Additional loosely-typed properties of the chain.

Returns an empty JSON object if ‘properties’ not defined in config

source

pub fn add_boot_node(&mut self, addr: MultiaddrWithPeerId)

Add a bootnode to the list.

source

pub fn extensions(&self) -> &E

Returns a reference to the defined chain spec extensions.

source

pub fn extensions_mut(&mut self) -> &mut E

Returns a mutable reference to the defined chain spec extensions.

source

pub fn from_genesis<F>( name: &str, id: &str, chain_type: ChainType, constructor: F, boot_nodes: Vec<MultiaddrWithPeerId>, telemetry_endpoints: Option<TelemetryEndpoints>, protocol_id: Option<&str>, fork_id: Option<&str>, properties: Option<Map<String, Value>>, extensions: E, code: &[u8] ) -> ChainSpec<G, E, EHF>
where F: Fn() -> G + 'static + Send + Sync,

👎Deprecated: from_genesis is planned to be removed in May 2024. Use builder() instead.

Create hardcoded spec.

source

pub fn builder(code: &[u8], extensions: E) -> ChainSpecBuilder<G, E, EHF>

Provides a ChainSpec builder.

source§

impl<G, E, EHF> ChainSpec<G, E, EHF>

source

pub fn from_json_bytes( json: impl Into<Cow<'static, [u8]>> ) -> Result<ChainSpec<G, E, EHF>, String>

Parse json content into a ChainSpec

source

pub fn from_json_file(path: PathBuf) -> Result<ChainSpec<G, E, EHF>, String>

Parse json file into a ChainSpec

source§

impl<G, E, EHF> ChainSpec<G, E, EHF>
where G: RuntimeGenesis, E: Serialize + Clone + 'static, EHF: HostFunctions,

source

pub fn as_json(&self, raw: bool) -> Result<String, String>

Dump the chain specification to JSON string.

Trait Implementations§

source§

impl<G, E, EHF> BuildStorage for ChainSpec<G, E, EHF>

source§

fn assimilate_storage(&self, storage: &mut Storage) -> Result<(), String>

Assimilate the storage for this module into pre-existing overlays.
source§

fn build_storage(&self) -> Result<Storage, String>

Build the storage out of this builder.
source§

impl<G, E, EHF> ChainSpec for ChainSpec<G, E, EHF>
where G: RuntimeGenesis + 'static, E: GetExtension + Serialize + Clone + Send + Sync + 'static, EHF: HostFunctions,

source§

fn boot_nodes(&self) -> &[MultiaddrWithPeerId]

A list of bootnode addresses.
source§

fn name(&self) -> &str

Spec name.
source§

fn id(&self) -> &str

Spec id.
source§

fn chain_type(&self) -> ChainType

Type of the chain.
source§

fn telemetry_endpoints(&self) -> &Option<TelemetryEndpoints>

Telemetry endpoints (if any)
source§

fn protocol_id(&self) -> Option<&str>

Network protocol id.
source§

fn fork_id(&self) -> Option<&str>

Optional network fork identifier. None by default.
source§

fn properties(&self) -> Map<String, Value>

Additional loosely-typed properties of the chain. Read more
source§

fn add_boot_node(&mut self, addr: MultiaddrWithPeerId)

Add a bootnode to the list.
source§

fn extensions(&self) -> &dyn GetExtension

Returns a reference to the defined chain spec extensions.
source§

fn extensions_mut(&mut self) -> &mut dyn GetExtension

Returns a mutable reference to the defined chain spec extensions.
source§

fn as_json(&self, raw: bool) -> Result<String, String>

Return spec as JSON.
source§

fn as_storage_builder(&self) -> &dyn BuildStorage

Return StorageBuilder for this spec.
source§

fn cloned_box(&self) -> Box<dyn ChainSpec>

Returns a cloned Box<dyn ChainSpec>.
source§

fn set_storage(&mut self, storage: Storage)

Set the storage that should be used by this chain spec. Read more
source§

fn code_substitutes(&self) -> BTreeMap<String, Vec<u8>>

Returns code substitutes that should be used for the on chain wasm.
source§

impl<G, E, EHF> Clone for ChainSpec<G, E, EHF>
where E: Clone,

source§

fn clone(&self) -> ChainSpec<G, E, EHF>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl<G, E, EHF> Freeze for ChainSpec<G, E, EHF>
where E: Freeze,

§

impl<G, E = Option<()>, EHF = ()> !RefUnwindSafe for ChainSpec<G, E, EHF>

§

impl<G, E, EHF> Send for ChainSpec<G, E, EHF>
where E: Send, EHF: Send,

§

impl<G, E, EHF> Sync for ChainSpec<G, E, EHF>
where E: Sync, EHF: Sync,

§

impl<G, E, EHF> Unpin for ChainSpec<G, E, EHF>
where E: Unpin, EHF: Unpin,

§

impl<G, E = Option<()>, EHF = ()> !UnwindSafe for ChainSpec<G, E, EHF>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Any for T
where T: Any,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

source§

fn type_name(&self) -> &'static str

source§

impl<T> AnySync for T
where T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CheckedConversion for T

source§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
source§

fn checked_into<T>(self) -> Option<T>
where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
source§

impl<T> DynClone for T
where T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

source§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

source§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> SaturatedConversion for T

source§

fn saturated_from<T>(t: T) -> Self
where Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
source§

fn saturated_into<T>(self) -> T
where Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

source§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
source§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

source§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> JsonSchemaMaybe for T

source§

impl<T> MaybeSend for T
where T: Send,