This project provides a Bitcoin Wallet Generator for creating wallets, deriving extended private keys, generating child keys, and producing QR codes for wallet addresses. The application includes both a command-line interface (CLI) and a web-based interface built using Axum and TailwindCSS.
-
Wallet Management
- Generate Bitcoin wallets with private keys, public keys, and addresses.
- Create QR codes for wallet addresses for easy sharing.
-
Key Derivation
- Derive extended private keys using a secure HMAC-SHA512 mechanism.
- Generate child keys using the BIP32 hierarchical deterministic (HD) wallet standard.
-
Web Interface
- Interact with the wallet generator using a modern, responsive web interface.
- Generate wallets, derive keys, and create QR codes directly from your browser.
-
Data Persistence
- Save generated wallets, private keys, and QR codes in structured JSON files for easy reference.
-
Rust Install Rust by following the official installation guide.
-
Git Install Git to clone the repository: Git Installation Guide.
src/: Contains all the Rust modules for wallet generation, key derivation, and web interface.bip32.rs: Implements the BIP32 standard for HD wallets.bip39.rs: Implements mnemonic phrase generation for wallet recovery.wallet.rs: Contains core wallet functionalities such as address generation.web.rs: Defines the Axum-based web server for the project.
Cargo.toml: The Rust project manifest defining dependencies and metadata.data/: Stores generated wallets, extended keys, child keys, and QR codes in organized directories.README.md: This file, providing an overview of the project.
git clone https://github.com/KyllianGenot/Bitcoin-Wallet-Generator.git
cd Bitcoin-Wallet-GeneratorUse Cargo, the Rust package manager, to install project dependencies:
cargo buildRun the CLI to interact with the wallet generator (choose option 5 to use it on the web interface):
cargo runTo verify the correctness of the implementation, you can execute the project's test suite using:
cargo testThis will run all unit tests defined in the project to ensure the wallet generation, key derivation, and other features work as expected.
- Generate a wallet with a mnemonic phrase and display the private key, public key, and address.
- Derive an extended private key using a secure seed.
- Generate child keys based on the BIP32 standard.
- Create and save QR codes for wallet addresses in SVG format.
- Use the Axum-based web server for wallet management via an intuitive web UI.
This project is licensed under the MIT License.
By following this guide, you can generate Bitcoin wallets, derive keys, and manage wallet data both locally and via the web interface. For any issues or suggestions, feel free to open an issue in the repository.
