diff --git a/README.md b/README.md index 9b2eb2f..d12c6c3 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ Currently supported address types: - **P2SH (Pay-to-Script-Hash, with multisig support)** - **P2WPKH (Pay-to-Witness-PubKey-Hash, SegWit v0)** - **P2TR (Pay-to-Taproot, SegWit v1)** +- **HD Wallet (BIP-32/39 with BIP-44/49/84/86 derivation)** In development: - **P2WSH (Pay-to-Witness-Script-Hash)** @@ -33,6 +34,7 @@ Select address type: 3. P2SH 4. P2WPKH 5. P2TR +6. HD Wallet (BIP-44/49/84/86) ``` After selecting an option, the dedicated script runs and guides the user through: @@ -40,7 +42,7 @@ After selecting an option, the dedicated script runs and guides the user through - Optional use of compressed/uncompressed keys - Displaying and saving the data to a `.json` file -Each script is independent (`src/p2pk.py`, `src/p2pkh.py`, `src/p2sh.py`, `src/p2wpkh.py`, `src/p2tr.py`) and implements the rules of the respective Bitcoin standard. +Each script is independent (`src/p2pk.py`, `src/p2pkh.py`, `src/p2sh.py`, `src/p2wpkh.py`, `src/p2tr.py`, `src/hd_wallet.py`) and implements the rules of the respective Bitcoin standard. --- @@ -108,6 +110,25 @@ P2SH support is currently limited to multisig scripts, which represent the most - **Pros**: the most recent type, with greater privacy and flexibility (supports complex scripts hidden behind a single address). Low fees, more efficient Schnorr signatures, signature aggregation - **Cons**: still relatively new, not supported by all services, higher implementation complexity +### 6. HD Wallet (BIP-32/39/44/49/84/86) +- **Standards**: BIP-32 (hierarchical deterministic wallets), BIP-39 (mnemonic phrases), BIP-44/49/84/86 (derivation paths) +- **Networks**: mainnet, testnet +- **Derivation paths**: + - BIP-44 → P2PKH: `m/44'/0'/account'/0/index` — addresses start with `1` (mainnet) + - BIP-49 → P2SH-P2WPKH: `m/49'/0'/account'/0/index` — addresses start with `3` (mainnet) + - BIP-84 → P2WPKH: `m/84'/0'/account'/0/index` — addresses start with `bc1q` (mainnet) + - BIP-86 → P2TR: `m/86'/0'/account'/0/index` — addresses start with `bc1p` (mainnet) +- **Extended key prefixes**: `xpub`/`xprv` (BIP-44/86), `ypub`/`yprv` (BIP-49), `zpub`/`zprv` (BIP-84) +- **JSON output**: compatible with Electrum wallet format (`keystore`, `xpub`, `xprv`, `derivation`, `root_fingerprint`, `seed_version: 17`) +- **Pros**: deterministic key derivation from a single mnemonic, interoperable with Electrum and other BIP-39 compatible wallets +- **Cons**: requires securely backing up the mnemonic phrase + +**Available options:** +- Generate a new 12-word mnemonic or import an existing one +- Optional BIP-39 passphrase +- Account index selection +- Configurable number of receiving addresses to derive + ### In development - **P2WSH (Pay-to-Witness-Script-Hash)**: SegWit version of P2SH, more efficient and secure.