pub trait AuxStore {
    // Required methods
    fn insert_aux<'a, 'b, 'c, I, D>(
        &self,
        insert: I,
        delete: D
    ) -> Result<(), Error>
       where 'b: 'a,
             'c: 'a,
             I: IntoIterator<Item = &'a (&'c [u8], &'c [u8])>,
             D: IntoIterator<Item = &'a &'b [u8]>;
    fn get_aux(&self, key: &[u8]) -> Result<Option<Vec<u8>>, Error>;
}
Expand description

Provides access to an auxiliary database.

This is a simple global database not aware of forks. Can be used for storing auxiliary information like total block weight/difficulty for fork resolution purposes as a common use case.

Required Methods§

source

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

Insert auxiliary data into key-value store.

Deletions occur after insertions.

source

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

Query auxiliary data from key-value store.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl<B, E, Block, RA> AuxStore for &Client<B, E, Block, RA>
where B: Backend<Block>, E: CallExecutor<Block>, Block: Block, Client<B, E, Block, RA>: ProvideRuntimeApi<Block>, <Client<B, E, Block, RA> as ProvideRuntimeApi<Block>>::Api: Core<Block>,

§

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

§

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

§

impl<B, E, Block, RA> AuxStore for Client<B, E, Block, RA>
where B: Backend<Block>, E: CallExecutor<Block>, Block: Block, Client<B, E, Block, RA>: ProvideRuntimeApi<Block>, <Client<B, E, Block, RA> as ProvideRuntimeApi<Block>>::Api: Core<Block>,

§

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

Insert auxiliary data into key-value store.

§

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

Query auxiliary data from key-value store.

§

impl<Block> AuxStore for Backend<Block>
where Block: Block,

§

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

§

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

source§

impl<Client> AuxStore for DefaultSubsystemClient<Client>
where Client: AuxStore,

source§

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

source§

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

Implementors§

source§

impl<Block> AuxStore for sc_client_api::in_mem::Backend<Block>
where Block: Block,

source§

impl<Block> AuxStore for Blockchain<Block>
where Block: Block,