A secure, client-side Bitcoin wallet application built with Angular 18+, modern web technologies with best practices on top of bitcoinjs-lib-wrapper.
- HD Wallet with BIP39 mnemonic generation
- Multiple address management
- Support for different Bitcoin networks (mainnet, testnet)
- Custom transaction fee settings
- QR code generation for addresses
- Transaction history tracking
- Secure, client-side only operations
- Responsive design for mobile and desktop
- Angular 18+
- TypeScript
- bitcoinjs-lib-wrapper
- Tailwind CSS
- Jasmine/Karma for unit testing
- Cypress for E2E testing
- Node.js 18+
- npm 9+
-
Clone the repository: ```bash git clone https://github.com/jeferson0993/bitcoinjs-lib-wrapper-demo.git cd bitcoinjs-lib-wrapper-demo ```
-
Install dependencies: ```bash npm install ```
-
Start the development server: ```bash npm start ```
The application will be available at `http://localhost:4200\`
Run unit tests with: ```bash npm test ```
Generate coverage report: ```bash npm run test:coverage ```
Run Cypress tests: ```bash npm run test:e2e ```
Open Cypress Test Runner: ```bash npm run cypress:open ```
``` src/ ├── app/ │ ├── components/ # Reusable UI components │ ├── config/ # Configuration files │ ├── pages/ # Route components │ ├── services/ # Business logic and data services │ ├── shared/ # Shared components │ └── types/ # TypeScript interfaces and types └── styles/ # Global styles ```
- All cryptographic operations are performed client-side
- Private keys never leave the user's browser
- Sensitive data is encrypted before storage
- No external API dependencies for core wallet functionality
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- bitcoinjs-lib-wrapper
- Angular