Crate electrum_client

Source
Expand description

This library provides an extendable Bitcoin-Electrum client that supports batch calls, notifications and multiple transport methods.

By default this library is compiled with support for SSL servers using rustls and support for plaintext connections over a socks proxy, useful for Onion servers. Using different features, the SSL implementation can be removed or replaced with openssl.

A minimal configuration is also provided, which only includes the plaintext TCP client.

§Example

use electrum_client::{Client, ElectrumApi};

let mut client = Client::new("tcp://electrum.blockstream.info:50001")?;
let response = client.server_features()?;

Re-exports§

pub extern crate bitcoin;
pub use client::*;

Modules§

client
Electrum Client
raw_client
Raw client
socks
SOCKS proxy clients
utils
Utilities helping to handle Electrum-related data.

Structs§

Batch
Helper structure that caches all the requests before they are actually sent to the server.
Config
Configuration for an electrum client
ConfigBuilder
Config Builder
GetBalanceRes
Response to a script_get_balance request.
GetHeadersRes
Response to a server_features request.
GetHistoryRes
Response to a script_get_history request.
GetMerkleRes
Response to a transaction_get_merkle request.
HeaderNotification
Notification of a new block header
ListUnspentRes
Response to a script_list_unspent request.
RawHeaderNotification
Notification of a new block header with the header encoded as raw bytes
Request
A request that can be sent to the server
ScriptNotification
Notification of the new status of a script
ServerFeaturesRes
Response to a server_features request.
Socks5Config
Configuration for Socks5
TxidFromPosRes
Response to a txid_from_pos_with_merkle request.

Enums§

Error
Errors
Param
A single parameter of a Request

Traits§

ElectrumApi
API calls exposed by an Electrum client
ToElectrumScriptHash
Trait used to convert a struct into the Electrum representation of an address

Type Aliases§

ScriptHash
Format used by the Electrum server to identify an address. The reverse sha256 hash of the scriptPubKey. Documented here.
ScriptStatus
Binary blob that condenses all the activity of an address. Used to detect changes without having to compare potentially long lists of transactions.