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(&'a self, out_point: &OutPoint) -> Option<(Bytes, Byte32)>
fn get_cell_data(&'a self, out_point: &OutPoint) -> Option<(Bytes, Byte32)>
TODO(doc): @quake
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_latest_built_filter_data_block_hash(&'a self) -> Option<Byte32>
fn get_latest_built_filter_data_block_hash(&'a self) -> Option<Byte32>
Gets latest built filter data block hash
sourcefn get_block_filter(&'a self, hash: &Byte32) -> Option<Bytes>
fn get_block_filter(&'a self, hash: &Byte32) -> Option<Bytes>
Gets block filter data 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
sourcefn get_header_digest(&'a self, position_u64: u64) -> Option<HeaderDigest>
fn get_header_digest(&'a self, position_u64: u64) -> Option<HeaderDigest>
Gets a header digest.
sourceimpl VersionbitsIndexer for ChainDB
impl VersionbitsIndexer for ChainDB
sourcefn block_epoch_index(&self, block_hash: &Byte32) -> Option<Byte32>
fn block_epoch_index(&self, block_hash: &Byte32) -> Option<Byte32>
Gets epoch index by block hash
sourcefn block_header(&self, block_hash: &Byte32) -> Option<HeaderView>
fn block_header(&self, block_hash: &Byte32) -> Option<HeaderView>
Gets block header by block hash
sourcefn cellbase(&self, block_hash: &Byte32) -> Option<TransactionView>
fn cellbase(&self, block_hash: &Byte32) -> Option<TransactionView>
Gets cellbase by block hash
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 Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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