Struct bdk::blockchain::esplora::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§
source§impl 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<TxStatus, Error>
pub fn get_tx_status(&self, txid: &Txid) -> Result<TxStatus, Error>
Get the status of a Transaction
given its Txid
.
sourcepub fn get_header(&self, block_height: u32) -> Result<Header, Error>
👎Deprecated since 0.2.0: 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<Header, 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<Header, Error>
pub fn get_header_by_hash( &self, block_hash: &BlockHash ) -> Result<Header, 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_merkle_block(
&self,
txid: &Txid
) -> Result<Option<MerkleBlock>, Error>
pub fn get_merkle_block( &self, txid: &Txid ) -> Result<Option<MerkleBlock>, Error>
Get a MerkleBlock
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>, Error>
pub fn get_fee_estimates(&self) -> Result<HashMap<String, f64>, 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>, Error>
pub fn scripthash_txs( &self, script: &Script, last_seen: Option<Txid> ) -> Result<Vec<Tx>, 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.
sourcepub fn get_blocks(
&self,
height: Option<u32>
) -> Result<Vec<BlockSummary>, Error>
pub fn get_blocks( &self, height: Option<u32> ) -> Result<Vec<BlockSummary>, Error>
Gets some recent block summaries starting at the tip or at height
if provided.
The maximum number of summaries returned depends on the backend itself: esplora returns 10
while mempool.space returns 15
.
Trait Implementations§
source§impl Blockchain for EsploraBlockchain
impl Blockchain for EsploraBlockchain
source§fn get_capabilities(&self) -> HashSet<Capability>
fn get_capabilities(&self) -> HashSet<Capability>
Capability
supported by this backendsource§impl ConfigurableBlockchain for EsploraBlockchain
impl ConfigurableBlockchain for EsploraBlockchain
§type Config = EsploraBlockchainConfig
type Config = EsploraBlockchainConfig
source§impl Debug for EsploraBlockchain
impl Debug for EsploraBlockchain
source§impl Deref for EsploraBlockchain
impl Deref for EsploraBlockchain
source§impl From<EsploraBlockchain> for AnyBlockchain
impl From<EsploraBlockchain> for AnyBlockchain
source§fn from(inner: EsploraBlockchain) -> Self
fn from(inner: EsploraBlockchain) -> Self
source§impl GetBlockHash for EsploraBlockchain
impl GetBlockHash for EsploraBlockchain
source§impl GetHeight for EsploraBlockchain
impl GetHeight for EsploraBlockchain
source§impl GetTx for EsploraBlockchain
impl GetTx for EsploraBlockchain
source§impl WalletSync for EsploraBlockchain
impl WalletSync for EsploraBlockchain
source§fn wallet_setup<D: BatchDatabase>(
&self,
database: &RefCell<D>,
_progress_update: Box<dyn Progress>
) -> Result<(), Error>
fn wallet_setup<D: BatchDatabase>( &self, database: &RefCell<D>, _progress_update: Box<dyn Progress> ) -> Result<(), Error>
source§fn wallet_sync<D: BatchDatabase>(
&self,
database: &RefCell<D>,
progress_update: Box<dyn Progress>
) -> Result<(), Error>
fn wallet_sync<D: BatchDatabase>( &self, database: &RefCell<D>, progress_update: Box<dyn Progress> ) -> Result<(), Error>
Self::wallet_setup
internally. Read more