Struct bdk::blockchain::EsploraBlockchain
source · pub struct EsploraBlockchain { /* private fields */ }
esplora
only.Expand description
Structure that implements the logic to sync with Esplora
Example
See the blockchain::esplora
module for a usage example.
Implementations
sourceimpl EsploraBlockchain
impl EsploraBlockchain
sourcepub fn new(base_url: &str, stop_gap: usize) -> Self
pub fn new(base_url: &str, stop_gap: usize) -> Self
Create a new instance of the client from a base URL and the stop_gap
.
sourcepub fn from_client(url_client: BlockingClient, stop_gap: usize) -> Self
pub fn from_client(url_client: BlockingClient, stop_gap: usize) -> Self
Build a new instance given a client
sourcepub fn with_concurrency(self, concurrency: u8) -> Self
pub fn with_concurrency(self, concurrency: u8) -> Self
Set the number of parallel requests the client can make.
Methods from Deref<Target = BlockingClient>
sourcepub fn get_tx(&self, txid: &Txid) -> Result<Option<Transaction>, Error>
pub fn get_tx(&self, txid: &Txid) -> Result<Option<Transaction>, Error>
Get a Transaction
option given its Txid
sourcepub fn get_tx_no_opt(&self, txid: &Txid) -> Result<Transaction, Error>
pub fn get_tx_no_opt(&self, txid: &Txid) -> Result<Transaction, Error>
Get a Transaction
given its Txid
.
sourcepub fn get_txid_at_block_index(
&self,
block_hash: &BlockHash,
index: usize
) -> Result<Option<Txid>, Error>
pub fn get_txid_at_block_index(
&self,
block_hash: &BlockHash,
index: usize
) -> Result<Option<Txid>, Error>
Get a Txid
of a transaction given its index in a block with a given hash.
sourcepub fn get_tx_status(&self, txid: &Txid) -> Result<Option<TxStatus>, Error>
pub fn get_tx_status(&self, txid: &Txid) -> Result<Option<TxStatus>, Error>
Get the status of a Transaction
given its Txid
.
sourcepub fn get_header(&self, block_height: u32) -> Result<BlockHeader, Error>
👎Deprecated since 0.1.2: Deprecated to improve alignment with Esplora API. Users should use get_block_hash
and get_header_by_hash
methods directly.
pub fn get_header(&self, block_height: u32) -> Result<BlockHeader, Error>
get_block_hash
and get_header_by_hash
methods directly.Get a BlockHeader
given a particular block height.
sourcepub fn get_header_by_hash(
&self,
block_hash: &BlockHash
) -> Result<BlockHeader, Error>
pub fn get_header_by_hash(
&self,
block_hash: &BlockHash
) -> Result<BlockHeader, Error>
Get a BlockHeader
given a particular block hash.
sourcepub fn get_block_status(
&self,
block_hash: &BlockHash
) -> Result<BlockStatus, Error>
pub fn get_block_status(
&self,
block_hash: &BlockHash
) -> Result<BlockStatus, Error>
Get the BlockStatus
given a particular BlockHash
.
sourcepub fn get_merkle_proof(&self, txid: &Txid) -> Result<Option<MerkleProof>, Error>
pub fn get_merkle_proof(&self, txid: &Txid) -> Result<Option<MerkleProof>, Error>
Get a merkle inclusion proof for a Transaction
with the given Txid
.
sourcepub fn get_output_status(
&self,
txid: &Txid,
index: u64
) -> Result<Option<OutputStatus>, Error>
pub fn get_output_status(
&self,
txid: &Txid,
index: u64
) -> Result<Option<OutputStatus>, Error>
Get the spending status of an output given a Txid
and the output index.
sourcepub fn broadcast(&self, transaction: &Transaction) -> Result<(), Error>
pub fn broadcast(&self, transaction: &Transaction) -> Result<(), Error>
Broadcast a Transaction
to Esplora
sourcepub fn get_height(&self) -> Result<u32, Error>
pub fn get_height(&self) -> Result<u32, Error>
Get the height of the current blockchain tip.
sourcepub fn get_tip_hash(&self) -> Result<BlockHash, Error>
pub fn get_tip_hash(&self) -> Result<BlockHash, Error>
Get the BlockHash
of the current blockchain tip.
sourcepub fn get_block_hash(&self, block_height: u32) -> Result<BlockHash, Error>
pub fn get_block_hash(&self, block_height: u32) -> Result<BlockHash, Error>
Get the BlockHash
of a specific block height
sourcepub fn get_fee_estimates(
&self
) -> Result<HashMap<String, f64, RandomState>, Error>
pub fn get_fee_estimates(
&self
) -> Result<HashMap<String, f64, RandomState>, Error>
Get an map where the key is the confirmation target (in number of blocks) and the value is the estimated feerate (in sat/vB).
sourcepub fn scripthash_txs(
&self,
script: &Script,
last_seen: Option<Txid>
) -> Result<Vec<Tx, Global>, Error>
pub fn scripthash_txs(
&self,
script: &Script,
last_seen: Option<Txid>
) -> Result<Vec<Tx, Global>, Error>
Get confirmed transaction history for the specified address/scripthash, sorted with newest first. Returns 25 transactions per page. More can be requested by specifying the last txid seen by the previous query.
Trait Implementations
sourceimpl Blockchain for EsploraBlockchain
impl Blockchain for EsploraBlockchain
sourcefn get_capabilities(&self) -> HashSet<Capability>
fn get_capabilities(&self) -> HashSet<Capability>
Capability
supported by this backendsourceimpl ConfigurableBlockchain for EsploraBlockchain
impl ConfigurableBlockchain for EsploraBlockchain
type Config = EsploraBlockchainConfig
type Config = EsploraBlockchainConfig
sourcefn from_config(config: &Self::Config) -> Result<Self, Error>
fn from_config(config: &Self::Config) -> Result<Self, Error>
sourceimpl Debug for EsploraBlockchain
impl Debug for EsploraBlockchain
sourceimpl Deref for EsploraBlockchain
impl Deref for EsploraBlockchain
type Target = BlockingClient
type Target = BlockingClient
sourceimpl From<EsploraBlockchain> for AnyBlockchain
impl From<EsploraBlockchain> for AnyBlockchain
sourcefn from(inner: EsploraBlockchain) -> Self
fn from(inner: EsploraBlockchain) -> Self
sourceimpl GetBlockHash for EsploraBlockchain
impl GetBlockHash for EsploraBlockchain
sourceimpl GetHeight for EsploraBlockchain
impl GetHeight for EsploraBlockchain
sourcefn get_height(&self) -> Result<u32, Error>
fn get_height(&self) -> Result<u32, Error>
sourceimpl GetTx for EsploraBlockchain
impl GetTx for EsploraBlockchain
sourceimpl WalletSync for EsploraBlockchain
impl WalletSync for EsploraBlockchain
sourcefn wallet_setup<D: BatchDatabase>(
&self,
database: &mut D,
_progress_update: Box<dyn Progress>
) -> Result<(), Error>
fn wallet_setup<D: BatchDatabase>(
&self,
database: &mut D,
_progress_update: Box<dyn Progress>
) -> Result<(), Error>
sourcefn wallet_sync<D: BatchDatabase>(
&self,
database: &mut D,
progress_update: Box<dyn Progress>
) -> Result<(), Error>
fn wallet_sync<D: BatchDatabase>(
&self,
database: &mut D,
progress_update: Box<dyn Progress>
) -> Result<(), Error>
Self::wallet_setup
internally. Read more