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

Electrum Client

Raw client

Structs

Helper structure that caches all the requests before they are actually sent to the server.

Response to a script_get_balance request.

Response to a server_features request.

Response to a script_get_history request.

Response to a transaction_get_merkle request.

Notification of a new block header

Response to a script_list_unspent request.

Notification of a new block header with the header encoded as raw bytes

A request that can be sent to the server

Notification of the new status of a script

Response to a server_features request.

Configuration for Socks5

Enums

Errors

A single parameter of a Request

Traits

API calls exposed by an Electrum client

Trait used to convert a struct into the Electrum representation of an address

Type Definitions

Format used by the Electrum server to identify an address. The reverse sha256 hash of the scriptPubKey. Documented here.

Binary blob that condenses all the activity of an address. Used to detect changes without having to compare potentially long lists of transactions.