Katera Wallet is a browser extension for managing cryptocurrency wallets. It allows users to create or recover wallets, view balances, and interact with multiple blockchain networks. Built with React, TypeScript, and ethers.js, this project leverages modern web technologies for a seamless user experience.
- Create Wallet:
- Generate a 12-word seed phrase and derive a wallet address.
- Securely save the wallet address for future access.
- Recover Wallet:
- Input an existing seed phrase to restore a wallet.
- Predefined Networks:
- Includes Ethereum Mainnet, Polygon Mainnet, Binance Smart Chain (BSC), and Sepolia Testnet.
- Custom Networks:
- Add and configure custom blockchain networks.
- Select Network:
- Search and choose from available networks, with persistence in local storage.
- View Balance:
- Fetch and display wallet balances from the selected network.
- Send Transactions:
- Transfer Ether to another address by specifying private key, recipient, and amount.
- Intuitive and modular design using React components.
- Dynamic feedback for network calls and loading states.
- Responsive layout styled with Tailwind CSS.
Ensure you have the following installed:
- Node.js (v18 or later)
- npm
git clone https://github.com/your-repository/wallet-extension-react.git
cd wallet-extension-react
npm install
npm run dev
The app will be available at http://localhost:3000.
npm run build
The production build will be available in the dist
directory.
-Frontend: React, Typescript, TailwindCss. -Api Layer: ether.js. -Vite: Fast development server and build tool. -Extension: CRXjs
- Navigate to the
Create Wallet
page. - Click
Generate Seed Phrase
to create a new wallet. - Save the seed phrase securely and proceed to view your wallet address.
- Navigate to the
Recover Wallet
option. - Input your 12-word seed phrase to restore the wallet.
- Click the network dropdown in the header.
- Choose a predefined network or add a custom network.
- Ensure your wallet is connected to a network.
- Navigate to the
View Balance
page to fetch and display your wallet balance.
- Enter recipient details and amount on the transaction page.
- Confirm and send the transaction via the blockchain.
Create a .env
file in the project root with the following variables:
# Ethereum Provider (Infura API Key)
INFURA_PROJECT_ID=your_infura_project_id
ETHEREUM_NETWORK=mainnet
- Token Support: Display balances for multiple tokens.
- Password: Password Protection for the Katera Application.
- Multiple Account Management: Handle Multiple Account Management
- Extension Packaging: Finalize compatibility for Chrome/Firefox deployment.
This project is licensed under the MIT License. See the LICENSE
file for details.