pub struct ChainDB { /* private fields */ }
Expand description
TODO(doc): @quake
Implementations
sourceimpl ChainDB
impl ChainDB
sourcepub fn new(db: RocksDB, config: StoreConfig) -> Self
pub fn new(db: RocksDB, config: StoreConfig) -> Self
TODO(doc): @quake
sourcepub fn new_with_freezer(
db: RocksDB,
freezer: Freezer,
config: StoreConfig
) -> Self
pub fn new_with_freezer(
db: RocksDB,
freezer: Freezer,
config: StoreConfig
) -> Self
Open new ChainDB with freezer instance
sourcepub fn into_inner(self) -> RocksDB
pub fn into_inner(self) -> RocksDB
TODO(doc): @quake
sourcepub fn put_chain_spec_hash(&self, hash: &Byte32) -> Result<(), Error>
pub fn put_chain_spec_hash(&self, hash: &Byte32) -> Result<(), Error>
Store the chain spec hash
sourcepub fn get_chain_spec_hash(&self) -> Option<Byte32>
pub fn get_chain_spec_hash(&self) -> Option<Byte32>
Return the chain spec hash
sourcepub fn get_migration_version(&self) -> Option<DBPinnableSlice<'_>>
pub fn get_migration_version(&self) -> Option<DBPinnableSlice<'_>>
Return the chain spec hash
sourcepub fn begin_transaction(&self) -> StoreTransaction
pub fn begin_transaction(&self) -> StoreTransaction
TODO(doc): @quake
sourcepub fn get_snapshot(&self) -> StoreSnapshot
pub fn get_snapshot(&self) -> StoreSnapshot
TODO(doc): @quake
sourcepub fn new_write_batch(&self) -> StoreWriteBatch
pub fn new_write_batch(&self) -> StoreWriteBatch
TODO(doc): @quake
sourcepub fn write_sync(&self, write_batch: &StoreWriteBatch) -> Result<(), Error>
pub fn write_sync(&self, write_batch: &StoreWriteBatch) -> Result<(), Error>
write options set_sync = true
see RocksDB::write_sync
.
Trait Implementations
sourceimpl<'a> ChainStore<'a> for ChainDB
impl<'a> ChainStore<'a> for ChainDB
type Vector = DBPinnableSlice<'a>
type Vector = DBPinnableSlice<'a>
TODO(doc): @quake
sourcefn cache(&'a self) -> Option<&'a StoreCache>
fn cache(&'a self) -> Option<&'a StoreCache>
TODO(doc): @quake
sourcefn get(&'a self, col: Col, key: &[u8]) -> Option<Self::Vector>
fn get(&'a self, col: Col, key: &[u8]) -> Option<Self::Vector>
Return the bytes associated with a key value and the given column family.
sourcefn as_data_provider(&'a self) -> DataLoaderWrapper<'a, Self>
fn as_data_provider(&'a self) -> DataLoaderWrapper<'a, Self>
Return the provider trait default implementation
sourcefn get_block_header(&'a self, hash: &Byte32) -> Option<HeaderView>
fn get_block_header(&'a self, hash: &Byte32) -> Option<HeaderView>
Get header by block header hash
sourcefn get_block_body(&'a self, hash: &Byte32) -> Vec<TransactionView>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn get_block_body(&'a self, hash: &Byte32) -> Vec<TransactionView>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Get block body by block header hash
sourcefn get_unfrozen_block(&'a self, hash: &Byte32) -> Option<BlockView>
fn get_unfrozen_block(&'a self, hash: &Byte32) -> Option<BlockView>
Get unfrozen block from ky-store with given hash
sourcefn get_block_txs_hashes(&'a self, hash: &Byte32) -> Vec<Byte32>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn get_block_txs_hashes(&'a self, hash: &Byte32) -> Vec<Byte32>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Get all transaction-hashes in block body by block header hash
sourcefn get_block_proposal_txs_ids(
&'a self,
hash: &Byte32
) -> Option<ProposalShortIdVec>
fn get_block_proposal_txs_ids(
&'a self,
hash: &Byte32
) -> Option<ProposalShortIdVec>
Get proposal short id by block header hash
sourcefn get_block_uncles(&'a self, hash: &Byte32) -> Option<UncleBlockVecView>
fn get_block_uncles(&'a self, hash: &Byte32) -> Option<UncleBlockVecView>
Get block uncles by block header hash
sourcefn get_block_extension(&'a self, hash: &Byte32) -> Option<Bytes>
fn get_block_extension(&'a self, hash: &Byte32) -> Option<Bytes>
Get block extension by block header hash
sourcefn get_block_ext(&'a self, block_hash: &Byte32) -> Option<BlockExt>
fn get_block_ext(&'a self, block_hash: &Byte32) -> Option<BlockExt>
Get block ext by block header hash
sourcefn get_block_hash(&'a self, number: BlockNumber) -> Option<Byte32>
fn get_block_hash(&'a self, number: BlockNumber) -> Option<Byte32>
Get block header hash by block number
sourcefn get_block_number(&'a self, hash: &Byte32) -> Option<BlockNumber>
fn get_block_number(&'a self, hash: &Byte32) -> Option<BlockNumber>
Get block number by block header hash
sourcefn is_main_chain(&'a self, hash: &Byte32) -> bool
fn is_main_chain(&'a self, hash: &Byte32) -> bool
TODO(doc): @quake
sourcefn get_tip_header(&'a self) -> Option<HeaderView>
fn get_tip_header(&'a self) -> Option<HeaderView>
TODO(doc): @quake
sourcefn transaction_exists(&'a self, hash: &Byte32) -> bool
fn transaction_exists(&'a self, hash: &Byte32) -> bool
Returns true if the transaction confirmed in main chain. Read more
sourcefn get_transaction(&'a self, hash: &Byte32) -> Option<(TransactionView, Byte32)>
fn get_transaction(&'a self, hash: &Byte32) -> Option<(TransactionView, Byte32)>
Get commit transaction and block hash by its hash
sourcefn get_transaction_info(&'a self, hash: &Byte32) -> Option<TransactionInfo>
fn get_transaction_info(&'a self, hash: &Byte32) -> Option<TransactionInfo>
TODO(doc): @quake
sourcefn get_transaction_with_info(
&'a self,
hash: &Byte32
) -> Option<(TransactionView, TransactionInfo)>
fn get_transaction_with_info(
&'a self,
hash: &Byte32
) -> Option<(TransactionView, TransactionInfo)>
Gets transaction and associated info with correspond hash
sourcefn get_cell(&'a self, out_point: &OutPoint) -> Option<CellMeta>
fn get_cell(&'a self, out_point: &OutPoint) -> Option<CellMeta>
Gets cell meta data with out_point
sourcefn get_cell_data_hash(&'a self, out_point: &OutPoint) -> Option<Byte32>
fn get_cell_data_hash(&'a self, out_point: &OutPoint) -> Option<Byte32>
TODO(doc): @quake
sourcefn get_current_epoch_ext(&'a self) -> Option<EpochExt>
fn get_current_epoch_ext(&'a self) -> Option<EpochExt>
Gets current epoch ext
sourcefn get_epoch_ext(&'a self, hash: &Byte32) -> Option<EpochExt>
fn get_epoch_ext(&'a self, hash: &Byte32) -> Option<EpochExt>
Gets epoch ext by epoch index
sourcefn get_epoch_index(&'a self, number: EpochNumber) -> Option<Byte32>
fn get_epoch_index(&'a self, number: EpochNumber) -> Option<Byte32>
Gets epoch index by epoch number
sourcefn get_block_epoch_index(&'a self, block_hash: &Byte32) -> Option<Byte32>
fn get_block_epoch_index(&'a self, block_hash: &Byte32) -> Option<Byte32>
Gets epoch index by block hash
sourcefn get_block_epoch(&'a self, hash: &Byte32) -> Option<EpochExt>
fn get_block_epoch(&'a self, hash: &Byte32) -> Option<EpochExt>
TODO(doc): @quake
sourcefn get_uncle_header(&'a self, hash: &Byte32) -> Option<HeaderView>
fn get_uncle_header(&'a self, hash: &Byte32) -> Option<HeaderView>
Gets header by uncle header hash
sourcefn block_exists(&'a self, hash: &Byte32) -> bool
fn block_exists(&'a self, hash: &Byte32) -> bool
TODO(doc): @quake
sourcefn get_cellbase(&'a self, hash: &Byte32) -> Option<TransactionView>
fn get_cellbase(&'a self, hash: &Byte32) -> Option<TransactionView>
Gets cellbase by block hash
sourcefn get_packed_block(&'a self, hash: &Byte32) -> Option<Block>
fn get_packed_block(&'a self, hash: &Byte32) -> Option<Block>
TODO(doc): @quake
sourcefn get_packed_block_header(&'a self, hash: &Byte32) -> Option<Header>
fn get_packed_block_header(&'a self, hash: &Byte32) -> Option<Header>
TODO(doc): @quake
Auto Trait Implementations
impl !RefUnwindSafe for ChainDB
impl Send for ChainDB
impl Sync for ChainDB
impl Unpin for ChainDB
impl !UnwindSafe for ChainDB
Blanket Implementations
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
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more