Ethereum
WalletD features the ability to create and work with Ethereum wallets. This resource provides documentation related to Ethereum in WalletD.
EthereumWallet Struct
Contains the information needed to interact with an Ethereum wallet with a single public address associated with it.
EthereumWallet Struct Methods
-
address_format(&self) -> EthereumFormat- Returns the address format used by the wallet
-
public_address(&self) -> String- Returns the public address of the wallet
-
network(&self) -> HDNetworkType- Returns the network type used by the wallet
-
public_key(&self) -> Result<EthereumPublicKey, Error>- Returns the public key of the wallet
-
private_key(&self) -> Result<EthereumPrivateKey, Error>- Returns the private key of the wallet if it exists, otherwise returns an error
-
master_hd_key(&self) -> Result<HDKey, Error>- Returns the master HD key of the wallet if it exists, otherwise returns an error
-
derived_hd_key(&self) -> Result<HDKey, Error>- Returns the derived HD key of the wallet if it exists, otherwise returns an error
EthereumWallet's Implementation of the CryptoWallet Trait
-
set_blockchain_client(&mut self, client: Self::BlockchainClient)- Associates a particular blockchain client with the CryptoWallet
-
blockchain_client(&self) -> Result<&Self::BlockchainClient, Self::ErrorType>- Returns the blockchain client that is associated with the CryptoWallet if it exists, otherwise returns an error
-
balance(&self) -> Result<Self::CryptoAmount, Self::ErrorType>- Returns the balance of the CryptoWallet as a CryptoAmount
-
transfer(&self, send_amount: &Self::CryptoAmount, public_address: &str) -> Result<String, Self::ErrorType>- Sends a transaction from the CryptoWallet to a given public address with a given amount
-
sync(&mut self) -> Result<(), Self::ErrorType>- Syncs the CryptoWallet with the blockchain
-
receive_address(&self) -> Result<String, Self::ErrorType>- Returns the receive address of the CryptoWallet, this is the address that is used to receive transactions
-
builder() -> Self::WalletBuilder- Returns a builder for the CryptoWallet that can be used to build a CryptoWallet with custom options
EthereumWalletBuilder Struct
Builder for EthereumWallet, allows for specification of options for the ethereum wallet
EthereumWalletBuilder Struct Methods
-
default() -> Self- Specifies the default options for the EthereumWalletBuilder
The default address format is EthereumFormat::Checksummed
The default network type is HDNetworkType::MainNet
The default HDPathBuilder is
m/44'/60'/0'/0/0By default neither the master HD key nor the mnemonic seed are specified
- Specifies the default options for the EthereumWalletBuilder
The default address format is EthereumFormat::Checksummed
The default network type is HDNetworkType::MainNet
The default HDPathBuilder is
-
master_hd_key(&mut self, master_hd_key: HDKey) -> &mut Self- Allows specification of the master HD key for the wallet
-
address_format(&mut self, address_format: EthereumFormat) -> &mut Self- Allows specification of the address format for the wallet
-
mnemonic_seed(&mut self, mnemonic_seed: Seed) -> &mut Self- Allows specification of the mnemonic seed for the wallet
-
network_type(&mut self, network_type: HDNetworkType) -> &mut Self- Allows specification of the network type for the wallet, the default is HDNetworkType::MainNet
EthereumWalletBuilder's Implementation of the CryptoWalletBuilder Trait
-
new() -> Self- Constructs a new
CryptoWalletBuilder
- Constructs a new
-
build(&self) -> Result<T, T::ErrorType>- Builds a
CryptoWalletfrom theCryptoWalletBuilder
- Builds a
-
master_hd_key(&mut self, master_hd_key: HDKey) -> &mut Self- Specifies the master HD key (HDKey) for the CryptoWalletBuilder.
-
mnemonic_seed(&mut self, mnemonic_seed: Seed) -> &mut Self- Specifies the mnemonic seed (
Seed) for theCryptoWalletBuilder.
- Specifies the mnemonic seed (
-
address_format(&mut self, address_format: T::AddressFormat) -> &mut Self- Specifies the address format (CryptoWallet::AddressFormat) for the
CryptoWalletBuilder.
- Specifies the address format (CryptoWallet::AddressFormat) for the
-
hd_path_builder(&mut self, hd_path_builder: HDPathBuilder) -> &mut Self- Specifies the HD path builder (
HDPathBuilder) for theCryptoWalletBuilder.
- Specifies the HD path builder (
-
network_type(&mut self, network_type: T::NetworkType) -> &mut Self- Specifies the network type
CryptoWallet::NetworkTypefor theCryptoWalletBuilder.
- Specifies the network type
EthereumPrivateKey Struct
Represents a private key for an Ethereum wallet, wraps a SecretKey from the secp256k1 crate
EthereumPrivateKey Struct Methods
-
to_bytes(&self) -> [u8; 32]- Represent the private key as a byte array
-
from_slice(bytes: &[u8]) -> Result<Self, Error>- Instantiate the private key from a slice of bytes, errors if given invalid bytes
EthereumPublicKey Struct
Represents an EthereumPublicKey, wraps a PublicKey from the secp256k1 crate
EthereumPublicKey Struct Methods
-
to_bytes(&self) -> [u8; 33]- Converts the public key to a byte array
-
from_slice(bytes: &[u8]) -> Result<Self, Error>- Constructs the public key from a slice of bytes, returns an
errorif given invalid bytes
- Constructs the public key from a slice of bytes, returns an
-
to_public_address(&self, address_format: EthereumFormat) -> Result<String, Error>- Returns the public address of the public key in the specified format