Struct electrum_client::client::Client
source · pub struct Client { /* private fields */ }
Expand description
Generalized Electrum client that supports multiple backends. Can re-instantiate client_type if connections drops
Implementations§
source§impl Client
impl Client
sourcepub fn new(url: &str) -> Result<Self, Error>
pub fn new(url: &str) -> Result<Self, Error>
Default constructor supporting multiple backends by providing a prefix
Supported prefixes are:
- tcp:// for a TCP plaintext client.
- ssl:// for an SSL-encrypted client. The server certificate will be verified.
If no prefix is specified, then tcp://
is assumed.
See Client::from_config for more configuration options
Trait Implementations§
source§impl ElectrumApi for Client
impl ElectrumApi for Client
source§fn raw_call(
&self,
method_name: &str,
params: impl IntoIterator<Item = Param>
) -> Result<Value, Error>
fn raw_call( &self, method_name: &str, params: impl IntoIterator<Item = Param> ) -> Result<Value, Error>
Executes the requested API call returning the raw answer.
source§fn batch_call(&self, batch: &Batch) -> Result<Vec<Value>, Error>
fn batch_call(&self, batch: &Batch) -> Result<Vec<Value>, Error>
Execute a queue of calls stored in a
Batch
struct. Returns
Ok()
only if all of the calls are successful. The order of the JSON Value
s returned
reflects the order in which the calls were made on the Batch
struct.source§fn block_headers_subscribe_raw(&self) -> Result<RawHeaderNotification, Error>
fn block_headers_subscribe_raw(&self) -> Result<RawHeaderNotification, Error>
Subscribes to notifications for new block headers, by sending a
blockchain.headers.subscribe
call and
returns the current tip as raw bytes instead of deserializing them.source§fn block_headers_pop_raw(&self) -> Result<Option<RawHeaderNotification>, Error>
fn block_headers_pop_raw(&self) -> Result<Option<RawHeaderNotification>, Error>
Tries to pop one queued notification for a new block header that we might have received.
Returns a the header in raw bytes if a notification is found in the queue, None otherwise.
source§fn block_header_raw(&self, height: usize) -> Result<Vec<u8>, Error>
fn block_header_raw(&self, height: usize) -> Result<Vec<u8>, Error>
Gets the raw bytes of block header for height
height
.source§fn block_headers(
&self,
start_height: usize,
count: usize
) -> Result<GetHeadersRes, Error>
fn block_headers( &self, start_height: usize, count: usize ) -> Result<GetHeadersRes, Error>
Tries to fetch
count
block headers starting from start_height
.source§fn estimate_fee(&self, number: usize) -> Result<f64, Error>
fn estimate_fee(&self, number: usize) -> Result<f64, Error>
Estimates the fee required in Bitcoin per kilobyte to confirm a transaction in
number
blocks.source§fn relay_fee(&self) -> Result<f64, Error>
fn relay_fee(&self) -> Result<f64, Error>
Returns the minimum accepted fee by the server’s node in Bitcoin, not Satoshi.
source§fn script_subscribe(
&self,
script: &Script
) -> Result<Option<ScriptStatus>, Error>
fn script_subscribe( &self, script: &Script ) -> Result<Option<ScriptStatus>, Error>
Subscribes to notifications for activity on a specific scriptPubKey. Read more
source§fn batch_script_subscribe<'s, I>(
&self,
scripts: I
) -> Result<Vec<Option<ScriptStatus>>, Error>
fn batch_script_subscribe<'s, I>( &self, scripts: I ) -> Result<Vec<Option<ScriptStatus>>, Error>
Batch version of
script_subscribe
. Read moresource§fn script_unsubscribe(&self, script: &Script) -> Result<bool, Error>
fn script_unsubscribe(&self, script: &Script) -> Result<bool, Error>
Subscribes to notifications for activity on a specific scriptPubKey. Read more
source§fn script_pop(&self, script: &Script) -> Result<Option<ScriptStatus>, Error>
fn script_pop(&self, script: &Script) -> Result<Option<ScriptStatus>, Error>
Tries to pop one queued notification for a the requested script. Returns
None
if there are no items in the queue.source§fn script_get_balance(&self, script: &Script) -> Result<GetBalanceRes, Error>
fn script_get_balance(&self, script: &Script) -> Result<GetBalanceRes, Error>
Returns the balance for a scriptPubKey.
source§fn batch_script_get_balance<'s, I>(
&self,
scripts: I
) -> Result<Vec<GetBalanceRes>, Error>
fn batch_script_get_balance<'s, I>( &self, scripts: I ) -> Result<Vec<GetBalanceRes>, Error>
Batch version of
script_get_balance
. Read moresource§fn script_get_history(
&self,
script: &Script
) -> Result<Vec<GetHistoryRes>, Error>
fn script_get_history( &self, script: &Script ) -> Result<Vec<GetHistoryRes>, Error>
Returns the history for a scriptPubKey
source§fn batch_script_get_history<'s, I>(
&self,
scripts: I
) -> Result<Vec<Vec<GetHistoryRes>>, Error>
fn batch_script_get_history<'s, I>( &self, scripts: I ) -> Result<Vec<Vec<GetHistoryRes>>, Error>
Batch version of
script_get_history
. Read moresource§fn script_list_unspent(
&self,
script: &Script
) -> Result<Vec<ListUnspentRes>, Error>
fn script_list_unspent( &self, script: &Script ) -> Result<Vec<ListUnspentRes>, Error>
Returns the list of unspent outputs for a scriptPubKey
source§fn batch_script_list_unspent<'s, I>(
&self,
scripts: I
) -> Result<Vec<Vec<ListUnspentRes>>, Error>
fn batch_script_list_unspent<'s, I>( &self, scripts: I ) -> Result<Vec<Vec<ListUnspentRes>>, Error>
Batch version of
script_list_unspent
. Read moresource§fn transaction_get_raw(&self, txid: &Txid) -> Result<Vec<u8>, Error>
fn transaction_get_raw(&self, txid: &Txid) -> Result<Vec<u8>, Error>
Gets the raw bytes of a transaction with
txid
. Returns an error if not found.source§fn batch_transaction_get_raw<'t, I>(
&self,
txids: I
) -> Result<Vec<Vec<u8>>, Error>
fn batch_transaction_get_raw<'t, I>( &self, txids: I ) -> Result<Vec<Vec<u8>>, Error>
Batch version of
transaction_get_raw
. Read moresource§fn batch_block_header_raw<'s, I>(
&self,
heights: I
) -> Result<Vec<Vec<u8>>, Error>
fn batch_block_header_raw<'s, I>( &self, heights: I ) -> Result<Vec<Vec<u8>>, Error>
Batch version of
block_header_raw
. Read moresource§fn batch_estimate_fee<'s, I>(&self, numbers: I) -> Result<Vec<f64>, Error>
fn batch_estimate_fee<'s, I>(&self, numbers: I) -> Result<Vec<f64>, Error>
Batch version of
estimate_fee
. Read moresource§fn transaction_broadcast_raw(&self, raw_tx: &[u8]) -> Result<Txid, Error>
fn transaction_broadcast_raw(&self, raw_tx: &[u8]) -> Result<Txid, Error>
Broadcasts the raw bytes of a transaction to the network.
source§fn transaction_get_merkle(
&self,
txid: &Txid,
height: usize
) -> Result<GetMerkleRes, Error>
fn transaction_get_merkle( &self, txid: &Txid, height: usize ) -> Result<GetMerkleRes, Error>
Returns the merkle path for the transaction
txid
confirmed in the block at height
.source§fn server_features(&self) -> Result<ServerFeaturesRes, Error>
fn server_features(&self) -> Result<ServerFeaturesRes, Error>
Returns the capabilities of the server.
source§fn ping(&self) -> Result<(), Error>
fn ping(&self) -> Result<(), Error>
Pings the server. This method can also be used as a “dummy” call to trigger the processing
of incoming block header or script notifications.
source§fn block_header(&self, height: usize) -> Result<Header, Error>
fn block_header(&self, height: usize) -> Result<Header, Error>
Gets the block header for height
height
.source§fn block_headers_subscribe(&self) -> Result<HeaderNotification, Error>
fn block_headers_subscribe(&self) -> Result<HeaderNotification, Error>
Subscribes to notifications for new block headers, by sending a
blockchain.headers.subscribe
call.source§fn block_headers_pop(&self) -> Result<Option<HeaderNotification>, Error>
fn block_headers_pop(&self) -> Result<Option<HeaderNotification>, Error>
Tries to pop one queued notification for a new block header that we might have received.
Returns
None
if there are no items in the queue.source§fn transaction_get(&self, txid: &Txid) -> Result<Transaction, Error>
fn transaction_get(&self, txid: &Txid) -> Result<Transaction, Error>
Gets the transaction with
txid
. Returns an error if not found.source§fn batch_transaction_get<'t, I>(
&self,
txids: I
) -> Result<Vec<Transaction>, Error>
fn batch_transaction_get<'t, I>( &self, txids: I ) -> Result<Vec<Transaction>, Error>
Batch version of
transaction_get
. Read moresource§fn batch_block_header<I>(&self, heights: I) -> Result<Vec<Header>, Error>
fn batch_block_header<I>(&self, heights: I) -> Result<Vec<Header>, Error>
Batch version of
block_header
. Read moresource§fn transaction_broadcast(&self, tx: &Transaction) -> Result<Txid, Error>
fn transaction_broadcast(&self, tx: &Transaction) -> Result<Txid, Error>
Broadcasts a transaction to the network.
Auto Trait Implementations§
impl RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl UnwindSafe for Client
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more