Crate ethers_signers[][src]

Expand description

Provides a unified interface for locally signing transactions.

You can implement the Signer trait to extend functionality to other signers such as Hardware Security Modules, KMS etc.

The exposed interfaces return a recoverable signature. In order to convert the signature and the TransactionRequest to a Transaction, look at the signing middleware.

Supported signers:


// instantiate the wallet
let wallet = "dcf2cbdd171a21c480aa7f53d77f31bb102282b3ff099c78e3118b37348c72f7"
    .parse::<LocalWallet>()?;

// create a transaction
let tx = TransactionRequest::new()
    .to("vitalik.eth") // this will use ENS
    .value(10000).into();

// sign it
let signature = wallet.sign_transaction(&tx).await?;

// can also sign a message
let signature = wallet.sign_message("hello world").await?;
signature.verify("hello world", wallet.address()).unwrap();

Re-exports

pub use coins_bip39;
pub use yubihsm;

Structs

An ethers Signer that uses keys held in Amazon AWS KMS.

A Ledger Ethereum App.

Represents a structure that can resolve into a Wallet<SigningKey>.

An Ethereum private-public key pair which can be used for signing messages.

Enums

Errors produced by the AwsSigner

Ledger wallet type

Error when using the Ledger transport

Error thrown by the Wallet module

Traits

Trait for signing transactions and messages

Functions

Type Definitions

A wallet instantiated with a locally stored private key

A wallet instantiated with a YubiHSM