A secure, user-friendly browser extension wallet for BBAChain - providing seamless interaction with the BBAChain ecosystem directly from your browser.
BBA Wallet Extension is a non-custodial cryptocurrency wallet that enables users to:
- Store and manage BBA tokens securely on BBAChain network
- Connect to dApps and decentralized services on BBAChain
- Send and receive transactions with an intuitive interface
- Import/Export wallets using standard BIP39 mnemonic phrases
- Multi-account support with HD wallet derivation (BIP44)
- Transaction history and portfolio tracking
Built with modern web technologies and following industry security standards, BBA Wallet provides a bridge between users and the BBAChain ecosystem.
- Framework: Plasmo - Modern browser extension framework
- Frontend: React + TypeScript
- Styling: Tailwind CSS
- Crypto: BIP39/BIP32 HD wallet implementation
- Blockchain: BBAChain Web3.js integration
- Node.js 16+ and npm/pnpm
- Modern browser (Chrome, Firefox, Edge, Safari)
-
Clone the repository
git clone https://github.com/your-org/bbawallet-extension.git cd bbawallet-extension
-
Install dependencies
pnpm install # or npm install
-
Start development server
pnpm dev # or npm run dev
-
Load extension in browser
- Chrome: Navigate to
chrome://extensions/
, enable "Developer mode", click "Load unpacked" and selectbuild/chrome-mv3-dev
- Firefox: Navigate to
about:debugging#/runtime/this-firefox
, click "Load Temporary Add-on" and select any file inbuild/firefox-mv2-dev
- Chrome: Navigate to
The extension will auto-reload when you make changes to the source code.
pnpm build
# or
npm run build
Chrome (Manifest V3)
pnpm build --target=chrome-mv3
Firefox (Manifest V2)
pnpm build --target=firefox-mv2
Edge
pnpm build --target=edge-mv3
Safari
pnpm build --target=safari-mv3
The production builds will be available in the build/
directory, ready for packaging and store submission.
bbawallet-extension/
βββ src/
β βββ components/ # React components
β β βββ onboarding/ # Wallet setup flows
β β βββ Models/ # Modal components
β β βββ TokenList/ # Token management
β βββ contents/ # Content scripts
β βββ utils/ # Utility functions
β β βββ wallet.ts # HD wallet operations
β β βββ crypto.ts # Encryption/decryption
β βββ services/ # Blockchain services
β βββ redux/ # State management
β βββ types/ # TypeScript definitions
βββ assets/ # Static assets
βββ build/ # Built extensions
- HD Wallet: BIP44 derivation path
m/44'/829'/0'/0/{index}
- Mnemonic Support: 12-word seed phrase generation and recovery
- Multi-Account: Unlimited account creation from single seed
- Secure Storage: Encrypted local storage with password protection
- BBAChain Network: Native support for BBA token and ecosystem
- Transaction Signing: Secure transaction creation and signing
- dApp Connectivity: Standard wallet provider interface
- RPC Management: Configurable RPC endpoints
- Intuitive UI: Clean, modern interface design
- Transaction History: Complete transaction tracking
- Portfolio View: Token balances and values
- Settings Management: Customizable preferences
We welcome contributions from the community! Here's how you can help:
- Fork the repository on GitHub
- Create a feature branch
git checkout -b feature/your-feature-name
- Make your changes following our coding standards
- Test thoroughly across different browsers
- Submit a pull request with detailed description
Code Style
- Use TypeScript for type safety
- Follow ESLint and Prettier configurations
- Write meaningful commit messages
- Add JSDoc comments for public functions
Testing
- Test on Chrome and Firefox browsers
- Verify wallet operations work correctly
- Test dApp connectivity scenarios
- Check responsive design on different screen sizes
Security
- Never commit private keys or sensitive data
- Follow secure coding practices
- Validate all user inputs
- Use proper error handling
Found a bug or have a feature request? Please:
- Check existing issues first
- Use our issue templates
- Provide detailed reproduction steps
- Include browser and extension version
- Add screenshots if applicable
# Development
pnpm dev # Start development server
pnpm build # Production build
pnpm lint # Run linter
pnpm type-check # TypeScript checking
# Utilities
pnpm clean # Clean build artifacts
pnpm format # Format code with Prettier
Security is our top priority. BBA Wallet Extension:
- Never stores private keys in plain text
- Uses industry-standard encryption (AES-256)
- Implements secure HD wallet derivation
- Validates all transactions before signing
- Isolates extension context from web pages
If you discover a security vulnerability, please:
- Do not create a public issue
- Email security details to: [security@bbachain.com]
- Allow reasonable time for response
- Coordinate public disclosure timing
This project is licensed under the MIT License - see the LICENSE file for details.
BBA Wallet Extension is provided "AS IS", without warranty of any kindβexpress or impliedβincluding, but not limited to, the implied warranties of merchantability, fitness for a particular purpose and nonβinfringement.
You use this software at your own risk. In no event shall the authors, copyright holders, or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, loss of data, loss of digital assets such as tokens or coins, or any financial loss) arising out of or in connection with the use or inability to use the software, even if advised of the possibility of such damages.
The extension may interact with thirdβparty dApps or services that are outside the control of the development team. Any risks resulting from accessing or using such services rest solely with you, the user. We do not represent, endorse, or warrant any thirdβparty dApp, exchange, or service that may be linked or integrated.
Compliance with all applicable laws and regulations (including, without limitation, tax obligations, securities laws, and foreignβexchange controls) is the sole responsibility of the user.
By installing and/or using this software, you acknowledge that you have read, understood, and agree to be bound by the terms of this disclaimer.
- BBAChain Official: https://bbachain.com
- Documentation: [Coming Soon]
- Block Explorer: https://bbascan.com
- Community: [Discord/Telegram Links]