[][src]Crate electrum_client

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

Structs

Batch

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

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

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 Definitions

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.