pub struct BlockingClient {
pub proxy: Option<String>,
pub timeout: Option<u64>,
pub headers: HashMap<String, String>,
pub max_retries: usize,
/* private fields */
}Expand description
A blocking client for interacting with an Esplora API server.
Fields§
§proxy: Option<String>The proxy is ignored when targeting wasm32.
timeout: Option<u64>Socket timeout.
headers: HashMap<String, String>HTTP headers to set on every request made to Esplora server
max_retries: usizeNumber of times to retry a request
Implementations§
Source§impl BlockingClient
impl BlockingClient
Sourcepub fn from_builder(builder: Builder) -> Self
pub fn from_builder(builder: Builder) -> Self
Build a blocking client from a Builder
Sourcepub fn get_request(&self, path: &str) -> Result<Request, Error>
pub fn get_request(&self, path: &str) -> Result<Request, Error>
Perform a raw HTTP GET request with the given URI path.
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_tx_info(&self, txid: &Txid) -> Result<Option<Tx>, Error>
pub fn get_tx_info(&self, txid: &Txid) -> Result<Option<Tx>, Error>
Get transaction info given its Txid.
Sourcepub fn get_tx_outspends(&self, txid: &Txid) -> Result<Vec<OutputStatus>, Error>
pub fn get_tx_outspends(&self, txid: &Txid) -> Result<Vec<OutputStatus>, Error>
Get the spend status of a Transaction’s outputs, given its Txid.
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 BlockHash.
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 submit_package(
&self,
transactions: &[Transaction],
maxfeerate: Option<f64>,
maxburnamount: Option<f64>,
) -> Result<SubmitPackageResult, Error>
pub fn submit_package( &self, transactions: &[Transaction], maxfeerate: Option<f64>, maxburnamount: Option<f64>, ) -> Result<SubmitPackageResult, Error>
Broadcast a package of Transactions to Esplora.
If maxfeerate is provided, any transaction whose
fee is higher will be rejected.
If maxburnamount is provided, any transaction
with higher provably unspendable outputs amount
will be rejected.
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_mempool_stats(&self) -> Result<MempoolStats, Error>
pub fn get_mempool_stats(&self) -> Result<MempoolStats, Error>
Get statistics about the mempool.
Sourcepub fn get_mempool_recent_txs(&self) -> Result<Vec<MempoolRecentTx>, Error>
pub fn get_mempool_recent_txs(&self) -> Result<Vec<MempoolRecentTx>, Error>
Get a list of the last 10 Transactions to enter the mempool.
Sourcepub fn get_mempool_txids(&self) -> Result<Vec<Txid>, Error>
pub fn get_mempool_txids(&self) -> Result<Vec<Txid>, Error>
Get the full list of Txids in the mempool.
The order of the txids is arbitrary and does not match bitcoind’s.
Sourcepub fn get_fee_estimates(&self) -> Result<HashMap<u16, f64>, Error>
pub fn get_fee_estimates(&self) -> Result<HashMap<u16, f64>, Error>
Get a map where the key is the confirmation target (in number of blocks) and the value is the estimated feerate (in sat/vB).
Sourcepub fn get_address_stats(
&self,
address: &Address,
) -> Result<AddressStats, Error>
pub fn get_address_stats( &self, address: &Address, ) -> Result<AddressStats, Error>
Get information about a specific address, includes confirmed balance and transactions in the mempool.
Sourcepub fn get_scripthash_stats(
&self,
script: &Script,
) -> Result<ScriptHashStats, Error>
pub fn get_scripthash_stats( &self, script: &Script, ) -> Result<ScriptHashStats, Error>
Get statistics about a particular Script hash’s confirmed and mempool transactions.
Sourcepub fn get_address_txs(
&self,
address: &Address,
last_seen: Option<Txid>,
) -> Result<Vec<Tx>, Error>
pub fn get_address_txs( &self, address: &Address, last_seen: Option<Txid>, ) -> Result<Vec<Tx>, Error>
Get transaction history for the specified address, sorted with newest first.
Returns up to 50 mempool transactions plus the first 25 confirmed transactions. More can be requested by specifying the last txid seen by the previous query.
Sourcepub fn get_mempool_address_txs(
&self,
address: &Address,
) -> Result<Vec<Tx>, Error>
pub fn get_mempool_address_txs( &self, address: &Address, ) -> Result<Vec<Tx>, Error>
Get mempool Transactions for the specified Address, sorted with newest first.
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 transaction history for the specified 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_mempool_scripthash_txs(
&self,
script: &Script,
) -> Result<Vec<Tx>, Error>
pub fn get_mempool_scripthash_txs( &self, script: &Script, ) -> Result<Vec<Tx>, Error>
Get mempool Transaction history for the
specified Script hash, sorted with newest first.
Sourcepub fn get_block_txs(
&self,
blockhash: &BlockHash,
start_index: Option<u32>,
) -> Result<Vec<Tx>, Error>
pub fn get_block_txs( &self, blockhash: &BlockHash, start_index: Option<u32>, ) -> Result<Vec<Tx>, Error>
Get up to 25 Transactions from a Block, given its BlockHash,
beginning at start_index (starts from 0 if start_index is None).
The start_index value MUST be a multiple of 25,
else an error will be returned by Esplora.
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 Clone for BlockingClient
impl Clone for BlockingClient
Source§fn clone(&self) -> BlockingClient
fn clone(&self) -> BlockingClient
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more