[−][src]Struct grin_chain::store::ChainStore
All chain-related database operations
Methods
impl ChainStore
[src]
pub fn new(db_root: &str) -> Result<ChainStore, Error>
[src]
Create new chain store
pub fn with_version(&self, version: ProtocolVersion) -> ChainStore
[src]
Create a new instance of the chain store based on this instance but with the provided protocol version. This is used when migrating data in the db to a different protocol version, reading using one version and writing back to the db with a different version.
impl ChainStore
[src]
pub fn head(&self) -> Result<Tip, Error>
[src]
The current chain head.
pub fn tail(&self) -> Result<Tip, Error>
[src]
The current chain "tail" (earliest block in the store).
pub fn head_header(&self) -> Result<BlockHeader, Error>
[src]
Header of the block at the head of the block chain (not the same thing as header_head).
pub fn header_head(&self) -> Result<Tip, Error>
[src]
Head of the header chain (not the same thing as head_header).
pub fn get_sync_head(&self) -> Result<Tip, Error>
[src]
The "sync" head.
pub fn get_block(&self, h: &Hash) -> Result<Block, Error>
[src]
Get full block.
pub fn block_exists(&self, h: &Hash) -> Result<bool, Error>
[src]
Does this full block exist?
pub fn get_block_sums(&self, h: &Hash) -> Result<BlockSums, Error>
[src]
Get block_sums for the block hash.
pub fn get_previous_header(
&self,
header: &BlockHeader
) -> Result<BlockHeader, Error>
[src]
&self,
header: &BlockHeader
) -> Result<BlockHeader, Error>
Get previous header.
pub fn get_block_header(&self, h: &Hash) -> Result<BlockHeader, Error>
[src]
Get block header.
pub fn get_all_output_pos(&self) -> Result<Vec<(Commitment, u64)>, Error>
[src]
Get all outputs PMMR pos. (only for migration purpose)
pub fn get_output_pos(&self, commit: &Commitment) -> Result<u64, Error>
[src]
Get PMMR pos for the given output commitment. Note: - Original prefix 'COMMIT_POS_PREFIX' is not used anymore for normal case, refer to #2889 for detail. - To be compatible with the old callers, let's keep this function name but replace with new prefix 'COMMIT_POS_HGT_PREFIX'
pub fn get_output_pos_height(
&self,
commit: &Commitment
) -> Result<(u64, u64), Error>
[src]
&self,
commit: &Commitment
) -> Result<(u64, u64), Error>
Get PMMR pos and block height for the given output commitment.
pub fn batch(&self) -> Result<Batch, Error>
[src]
Builds a new batch to be used with this store.
Auto Trait Implementations
impl Send for ChainStore
impl Sync for ChainStore
impl Unpin for ChainStore
impl !UnwindSafe for ChainStore
impl !RefUnwindSafe for ChainStore
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> UnsafeAny for T where
T: Any,
T: Any,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> Erased for T
impl<T> SafeBorrow<T> for T where
T: ?Sized,
T: ?Sized,
fn borrow_replacement(ptr: &T) -> &T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,