BLOCO Wallet Manager is a command-line interface (CLI) application designed to manage cryptocurrency wallets compatible with the Ethereum network and adhering to the KeyStoreV3 standard. Developed in GoLang, BLOCO provides a Terminal User Interface (TUI) for seamless wallet management. Future integrations will include external vaults such as Hashicorp Vault, Amazon KMS, Cloud HSM, and Azure Key Vault.
-
Wallet Management
- Create new wallets compatible with Ethereum.
- Import wallets using Mnemonics.
- Import KeyStoreV3 wallets with any file extension or no extension.
- Enhanced keystore import with multi-file selection and batch processing:
- Multi-file selection with checkbox interface
- Directory selection for batch import
- Automatic password file detection (.pwd files)
- Interactive file picker with keyboard navigation
- JSON file filtering for keystore files
- Export wallets in KeyStoreV3 format.
- Delete, block, and unblock wallet addresses.
- List all managed wallets.
-
Security
- Compatibility with KeyStoreV3 for secure key storage.
- Planned integration with external vaults:
- Hashicorp Vault
- Amazon KMS
- Cloud HSM
- Azure Key Vault
-
Configuration Management
- Robust configuration file handling with atomic operations
- Automatic backup and restore capabilities
- Network configuration with proper TOML formatting
- Safe editing of configuration files
-
Balance Inquiry
- Query the balance of Ethereum-compatible wallets.
-
Extensibility
- Support for additional blockchain networks (future).
- Support for multiple cryptographic curves and signature algorithms:
- Curves: secp256k1, secp256r1, ed25519
- Algorithms: ECDSA, EdDSA
Ensure you have Go installed on your system.
git clone https://github.com/italoag/bloco-wallet.git
cd bloco-wallet
go build -o bloco-wallet
Move the executable to a directory in your PATH for easy access:
mv bloco-wallet /usr/local/bin/
Run the BLOCO Wallet using the terminal:
bloco-wallet
Navigate through the TUI to manage your wallets. Available commands include:
- Create Wallet: Initialize a new Ethereum-compatible wallet.
- Import Wallet: Import existing wallets using Mnemonics or KeyStore files.
- Enhanced Keystore Import:
- Select multiple keystore files or entire directories
- Automatic detection of password files (.pwd)
- Interactive file picker with keyboard navigation
- Batch processing with progress tracking
- List Wallets: Display all managed wallets.
The enhanced keystore import feature provides an intuitive file selection interface:
- File Selection: Use the enhanced file picker to navigate directories and select keystore files
- Multi-Selection: Select multiple files using the space bar or entire directories
- Password Detection: Automatically detects corresponding .pwd files for seamless import
- Password Input: Secure modal popup for manual password entry when needed
- Batch Processing: Import multiple keystores in a single operation with progress tracking
Key Bindings for File Picker:
โ
/โ
orj
/k
: Navigate filesSpace
: Toggle file selectionEnter
: Open directory or confirm selectionTab
: Confirm final selectionCtrl+A
: Select all filesCtrl+C
: Clear selectionEsc
: Go back or cancel
Password Input Features:
- Secure Input: Password masking with bullet characters for security
- Error Handling: Clear error messages with retry mechanism
- Skip Option: Ability to skip individual files during batch import
- Retry Limits: Configurable maximum attempts to prevent brute force
- Key Bindings:
Enter
to confirm,Esc
to cancel,Ctrl+S
to skip file
Import Progress Tracking:
- Real-time Progress: Animated progress bar with percentage completion
- Current File Display: Shows which keystore is currently being processed
- Error Categorization: Distinguishes between failed imports and skipped files
- Pause/Resume: Progress pauses during password input and resumes automatically
- Completion Summary: Detailed statistics including success/failure/skip counts and timing
- Error History: Tracks and displays recent errors with context
- Visual Status: Clear indicators for importing, paused, and completed states
Upcoming Features:
-
Vault Integrations:
- Hashicorp Vault
- Amazon KMS
- Cloud HSM
- Azure Key Vault
-
Multi-Network Support:
- Integration with additional blockchain networks.
-
Advanced Cryptography:
- Support for secp256r1 and ed25519 curves.
- Implementation of ECDSA and EdDSA signature algorithms.
-
Enhanced Security Features:
- Import Wallet: Import existing wallets using private keys.
- Two-factor authentication for wallet access.
- Multi-signature wallet support.
-
User Experience Improvements:
- Enhanced TUI with more intuitive navigation.
- Detailed transaction histories and analytics.
- Delete an account address.
- Delete Wallet: Remove a wallet from the manager.
- Block/Unblock Wallet: Temporarily disable or enable a wallet address.
- Check Balance: View the balance of a selected wallet.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Commit your changes with clear messages.
- Submit a pull request detailing your changes.
This project is licensed under the MIT License.