☠️⚠️ Work In Progress ⚠️☠️
Key generation for Hierarchical-Deterministic (HD) Wallets
Add package to Cargo.toml file
rust [dependencies] bitcoin-hd-keys= "0.1.21"
```rust use bitcoinhdkeys::{ generatebip32hdwalletfrommnemonicwords, generatebip44hdwalletfrommnemonicwords, generatebip49hdwalletfrommnemonicwords, generatebip84hdwalletfrommnemonicwords, get128bitsofentropy, getmnemonicwords, AddressType, Network, };
// Generate entropy let entropyarray = get128bitsof_entropy();
// Get mnemonic words from entropy let mnemonicwords = getmnemonicwords(entropyarray.to_vec());
// Generate HD Wallet Keys (bip32) from mnemonic words let bip32hdwallet = generatebip32hdwalletfrommnemonicwords( mnemonicwords.clone(), None, "m/0'/0'".tostring(), 5, true, Network::Testnet, ); println!("{:#?}", bip32hdwallet); bip32hdwallet.prettyprintderived_addressed(Network::Testnet, AddressType::P2PKH);
// Generate Multi-Account Hierarchy HD Keys (bip44) from mnemonic words. let bip44hdwallet = generatebip44hdwalletfrommnemonicwords( mnemonicwords.clone(), None, 0, 5, true, Network::Testnet, ); println!("{:#?}", bip44hdwallet); bip44hdwallet.prettyprintderivedaddressed(Network::Testnet, AddressType::P2PKH);
// Generate Derivation scheme for P2WPKH-nested-in-P2SH based accounts HD Keys (bip49) from mnemonic words. let bip49hdwallet = generatebip49hdwalletfrommnemonicwords( mnemonicwords.clone(), None, 0, 5, true, Network::Testnet, ); println!("{:#?}", bip49hdwallet); bip49hdwallet.prettyprintderivedaddressed(Network::Testnet, AddressType::P2SH);
// Generate HD Keys using Deterministic Entropy From BIP32 Keychains (bip85) from mnemonic words. let bip84hdwallet = generatebip84hdwalletfrommnemonicwords( mnemonicwords.clone(), None, 0, 5, true, Network::Testnet, ); println!("{:#?}", bip84hdwallet); bip84hdwallet.prettyprintderivedaddressed(Network::Testnet, AddressType::Bech32);
```
To learn more about HD Wallets and explore the resource material that was used to create this packacge, see Resources.md
MIT © Joe Gesualdo