Struct electrum_jsonrpc::Electrum[][src]

pub struct Electrum { /* fields omitted */ }

Electrum JSON-RPC client.

Client represents methods for making json-rpc calls to Electrum daemon.

Examples


#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Electrum::new(
        "dummy_login".to_string(),
        "dummy_password".to_string(),
        "http://127.0.0.1:7000".to_string(),
    )?;

    let resp = client.get_help().await?;

    Ok(())
}

Implementations

impl Electrum[src]

pub fn new(login: String, password: String, address: String) -> Result<Self>[src]

Create new ElectrumRpc instance

pub async fn get_help(&self) -> Result<Response<Body>>[src]

List all available JSON-RPC calls

pub async fn get_info(&self) -> Result<Response<Body>>[src]

Fetch the blockchain network info

pub async fn get_balance(&self) -> Result<Response<Body>>[src]

Return the balance of your wallet.

pub async fn get_address_history<'a>(
    &self,
    address: &BtcAddress<'a>
) -> Result<Response<Body>>
[src]

Return the transaction history of any address. Note: This is a walletless server query, results are not checked by SPV.

pub async fn get_address_balance<'a>(
    &self,
    address: &BtcAddress<'a>
) -> Result<Response<Body>>
[src]

Return the balance of any address. Note: This is a walletless server query, results are not checked by SPV.

pub async fn list_wallets(&self) -> Result<Response<Body>>[src]

List wallets opened in daemon

pub async fn load_wallet(
    &self,
    wallet_path: Option<PathBuf>,
    password: Option<&str>
) -> Result<Response<Body>>
[src]

Open wallet in daemon

pub async fn create_wallet(&self) -> Result<Response<Body>>[src]

Create a new wallet

pub async fn list_addresses(&self) -> Result<Response<Body>>[src]

List wallet addresses. Returns the list of all addresses in your wallet. Use optional arguments to filter the results

pub async fn notify<'a>(
    &self,
    address: &BtcAddress<'a>,
    url: Option<Uri>
) -> Result<Response<Body>>
[src]

Watch an address. Every time the address changes, a http POST is sent to the URL. Call with an None URL to stop watching an address.

pub async fn restore_wallet(&self, text: &str) -> Result<Response<Body>>[src]

Restore a wallet from text. text can be a seed phrase, a master public key, a master private key, a list of bitcoin addresses or bitcoin private keys.

pub async fn sign_transaction(&self, tx: &str) -> Result<Response<Body>>[src]

Sign a transaction. The wallet keys will be used unless a private key is provided.

pub async fn broadcast(&self, tx: &str) -> Result<Response<Body>>[src]

Broadcast a transaction to the network.

pub async fn pay_to_many(
    &self,
    fee: Decimal,
    outputs: Vec<(String, Decimal)>
) -> Result<Response<Body>>
[src]

Create a multi-output transaction.

pub async fn close_wallet(&self) -> Result<Response<Body>>[src]

Close opened wallet.

Auto Trait Implementations

impl !RefUnwindSafe for Electrum

impl Send for Electrum

impl Sync for Electrum

impl Unpin for Electrum

impl !UnwindSafe for Electrum

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.