Struct sc_client_api::in_mem::Backend

source ·
pub struct Backend<Block: BlockT> { /* private fields */ }
Expand description

In-memory backend. Keeps all states and blocks in memory.

Warning: Doesn’t support all the features necessary for a proper database. Only use this struct for testing purposes. Do NOT use in production.

Implementations§

source§

impl<Block: BlockT> Backend<Block>

source

pub fn new() -> Self

Create a new instance of in-mem backend.

§Warning

For testing purposes only!

source

pub fn pin_refs(&self, hash: &<Block as BlockT>::Hash) -> Option<i64>

Return the number of references active for a pinned block.

§Warning

For testing purposes only!

Trait Implementations§

source§

impl<Block: BlockT> AuxStore for Backend<Block>

source§

fn insert_aux<'a, 'b: 'a, 'c: 'a, I: IntoIterator<Item = &'a (&'c [u8], &'c [u8])>, D: IntoIterator<Item = &'a &'b [u8]>>( &self, insert: I, delete: D, ) -> Result<()>

Insert auxiliary data into key-value store. Read more
source§

fn get_aux(&self, key: &[u8]) -> Result<Option<Vec<u8>>>

Query auxiliary data from key-value store.
source§

impl<Block: BlockT> Backend<Block> for Backend<Block>

§

type BlockImportOperation = BlockImportOperation<Block>

Associated block insertion operation type.
§

type Blockchain = Blockchain<Block>

Associated blockchain backend type.
§

type State = TrieBackend<MemoryDB<<<Block as Block>::Header as Header>::Hashing, PrefixedKey<<<Block as Block>::Header as Header>::Hashing>, Vec<u8>>, <<Block as Block>::Header as Header>::Hashing>

Associated state backend type.
§

type OffchainStorage = InMemOffchainStorage

Offchain workers local storage.
source§

fn begin_operation(&self) -> Result<Self::BlockImportOperation>

Begin a new block insertion transaction with given parent block id. Read more
source§

fn begin_state_operation( &self, operation: &mut Self::BlockImportOperation, block: Block::Hash, ) -> Result<()>

Note an operation to contain state transition.
source§

fn commit_operation(&self, operation: Self::BlockImportOperation) -> Result<()>

Commit block insertion.
source§

fn finalize_block( &self, hash: Block::Hash, justification: Option<Justification>, ) -> Result<()>

Finalize block with given hash. Read more
source§

fn append_justification( &self, hash: Block::Hash, justification: Justification, ) -> Result<()>

Append justification to the block with the given hash. Read more
source§

fn blockchain(&self) -> &Self::Blockchain

Returns reference to blockchain backend.
source§

fn usage_info(&self) -> Option<UsageInfo>

Returns current usage statistics.
source§

fn offchain_storage(&self) -> Option<Self::OffchainStorage>

Returns a handle to offchain storage.
source§

fn state_at(&self, hash: Block::Hash) -> Result<Self::State>

Returns state backend with post-state of given block.
source§

fn revert( &self, _n: NumberFor<Block>, _revert_finalized: bool, ) -> Result<(NumberFor<Block>, HashSet<Block::Hash>)>

Attempts to revert the chain by n blocks. If revert_finalized is set it will attempt to revert past any finalized block, this is unsafe and can potentially leave the node in an inconsistent state. All blocks higher than the best block are also reverted and not counting towards n. Read more
source§

fn remove_leaf_block(&self, _hash: Block::Hash) -> Result<()>

Discard non-best, unfinalized leaf block.
source§

fn get_import_lock(&self) -> &RwLock<()>

Gain access to the import lock around this backend. Read more
source§

fn requires_full_sync(&self) -> bool

Tells whether the backend requires full-sync mode.
source§

fn pin_block(&self, hash: <Block as BlockT>::Hash) -> Result<()>

Pin the block to keep body, justification and state available after pruning. Number of pins are reference counted. Users need to make sure to perform one call to Self::unpin_block per call to Self::pin_block.
source§

fn unpin_block(&self, hash: <Block as BlockT>::Hash)

Unpin the block to allow pruning.
source§

fn have_state_at(&self, hash: Block::Hash, _number: NumberFor<Block>) -> bool

Returns true if state for given block is available.
source§

fn insert_aux<'a, 'b: 'a, 'c: 'a, I: IntoIterator<Item = &'a (&'c [u8], &'c [u8])>, D: IntoIterator<Item = &'a &'b [u8]>>( &self, insert: I, delete: D, ) -> Result<()>

Insert auxiliary data into key-value store.
source§

fn get_aux(&self, key: &[u8]) -> Result<Option<Vec<u8>>>

Query auxiliary data from key-value store.
source§

impl<Block: BlockT> LocalBackend<Block> for Backend<Block>

Auto Trait Implementations§

§

impl<Block> !Freeze for Backend<Block>

§

impl<Block> !RefUnwindSafe for Backend<Block>

§

impl<Block> Send for Backend<Block>

§

impl<Block> Sync for Backend<Block>

§

impl<Block> Unpin for Backend<Block>
where <Block as Block>::Hash: Unpin, <<Block as Block>::Header as Header>::Hashing: Unpin,

§

impl<Block> !UnwindSafe for Backend<Block>

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> 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> 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, 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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
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, 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> JsonSchemaMaybe for T