Struct ethers_signers::MnemonicBuilder
source · pub struct MnemonicBuilder<W: Wordlist> { /* private fields */ }
Expand description
Represents a structure that can resolve into a Wallet<SigningKey>
.
Implementations§
source§impl<W: Wordlist> MnemonicBuilder<W>
impl<W: Wordlist> MnemonicBuilder<W>
sourcepub fn phrase<P: Into<PathOrString>>(self, phrase: P) -> Self
pub fn phrase<P: Into<PathOrString>>(self, phrase: P) -> Self
Sets the phrase in the mnemonic builder. The phrase can either be a string or a path to
the file that contains the phrase. Once a phrase is provided, the key will be generated
deterministically by calling the build
method.
Example
use ethers_signers::{MnemonicBuilder, coins_bip39::English};
let wallet = MnemonicBuilder::<English>::default()
.phrase("abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about")
.build()?;
sourcepub fn word_count(self, count: usize) -> Self
pub fn word_count(self, count: usize) -> Self
Sets the word count of a mnemonic phrase to be generated at random. If the phrase
field
is set, then word_count
will be ignored.
Example
use ethers_signers::{MnemonicBuilder, coins_bip39::English};
let mut rng = rand::thread_rng();
let wallet = MnemonicBuilder::<English>::default()
.word_count(24)
.build_random(&mut rng)?;
sourcepub fn index<U: Into<u32>>(self, index: U) -> Result<Self, WalletError>
pub fn index<U: Into<u32>>(self, index: U) -> Result<Self, WalletError>
Sets the derivation path of the child key to be derived. The derivation path is calculated using the default derivation path prefix used in Ethereum, i.e. “m/44’/60’/0’/0/{index}”.
sourcepub fn derivation_path(self, path: &str) -> Result<Self, WalletError>
pub fn derivation_path(self, path: &str) -> Result<Self, WalletError>
Sets the derivation path of the child key to be derived.
sourcepub fn password(self, password: &str) -> Self
pub fn password(self, password: &str) -> Self
Sets the password used to construct the seed from the mnemonic phrase.
sourcepub fn write_to<P: Into<PathBuf>>(self, path: P) -> Self
pub fn write_to<P: Into<PathBuf>>(self, path: P) -> Self
Sets the path to which the randomly generated phrase will be written to. This field is ignored when building a wallet from the provided mnemonic phrase.
sourcepub fn build(&self) -> Result<Wallet<SigningKey>, WalletError>
pub fn build(&self) -> Result<Wallet<SigningKey>, WalletError>
Builds a LocalWallet
using the parameters set in mnemonic builder. This method expects
the phrase field to be set.
sourcepub fn build_random<R: Rng>(
&self,
rng: &mut R
) -> Result<Wallet<SigningKey>, WalletError>
pub fn build_random<R: Rng>(
&self,
rng: &mut R
) -> Result<Wallet<SigningKey>, WalletError>
Builds a LocalWallet
using the parameters set in the mnemonic builder and constructing
the phrase using the provided random number generator.
Trait Implementations§
source§impl<W: Clone + Wordlist> Clone for MnemonicBuilder<W>
impl<W: Clone + Wordlist> Clone for MnemonicBuilder<W>
source§fn clone(&self) -> MnemonicBuilder<W>
fn clone(&self) -> MnemonicBuilder<W>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<W: Wordlist> Default for MnemonicBuilder<W>
impl<W: Wordlist> Default for MnemonicBuilder<W>
source§impl<W: PartialEq + Wordlist> PartialEq<MnemonicBuilder<W>> for MnemonicBuilder<W>
impl<W: PartialEq + Wordlist> PartialEq<MnemonicBuilder<W>> for MnemonicBuilder<W>
source§fn eq(&self, other: &MnemonicBuilder<W>) -> bool
fn eq(&self, other: &MnemonicBuilder<W>) -> bool
impl<W: Eq + Wordlist> Eq for MnemonicBuilder<W>
impl<W: Wordlist> StructuralEq for MnemonicBuilder<W>
impl<W: Wordlist> StructuralPartialEq for MnemonicBuilder<W>
Auto Trait Implementations§
impl<W> RefUnwindSafe for MnemonicBuilder<W>where
W: RefUnwindSafe,
impl<W> Send for MnemonicBuilder<W>where
W: Send,
impl<W> Sync for MnemonicBuilder<W>where
W: Sync,
impl<W> Unpin for MnemonicBuilder<W>where
W: Unpin,
impl<W> UnwindSafe for MnemonicBuilder<W>where
W: UnwindSafe,
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.