← BACK

safe-chain

TypeScript ⭐ 0

SecureWallet - A Modern Multi-Blockchain Wallet

SecureWallet is a modern, browser-based cryptocurrency wallet designed for security and ease of use. It allows users to manage multiple blockchain assets in one place. Private keys are encrypted and stored locally on the user's device, ensuring that only the user has access to their funds.

Key Features

  • Secure Wallet Creation: Create a new wallet protected by a strong password. The password encrypts all your private keys.
  • Local & Secure Storage: All sensitive data, including private keys, is encrypted and stored only on your device. Your keys never leave your browser.
  • Multi-Blockchain Support: Manage addresses and view balances for multiple blockchains. The dashboard provides a clear overview of all your assets.
  • Address Management: Generate new addresses for each supported blockchain with a single click.
  • Balance Tracking: View the balance of each address and the total balance for each blockchain. Balances can be refreshed on-demand.
  • Modern UI: A clean and responsive user interface built with React, shadcn/ui, and Tailwind CSS.

Technology Stack

Getting Started

To run SecureWallet locally, follow these steps:

Prerequisites

  • Node.js (v18 or later recommended)
  • pnpm (or npm/yarn)

Installation & Setup

  1. Clone the repository:

    git clone <repository-url>
    cd securewallet
    
  2. Install dependencies:

    pnpm install
    
  3. Run the development server:

    pnpm run dev
    

The application will be available at http://localhost:5173.

Build for Production

To create a production build, run:

pnpm run build

This will generate a dist directory with the optimized and minified application files.

Project Structure

The project follows a standard React application structure:

  • public/: Contains static assets like index.html and icons.
  • src/: The main source code directory.
    • components/: Contains UI components, including pre-built shadcn/ui components and custom wallet components.
      • ui/: Pre-built shadcn/ui components.
      • wallet/: Core wallet components (WalletApp, WalletDashboard, WalletSetup).
    • config/: Application configuration, such as supported blockchains.
    • hooks/: Custom React hooks.
    • lib/: Utility functions.
    • pages/: Top-level page components.
    • services/: Modules for handling business logic like blockchain interactions, encryption, and storage.
    • store/: Zustand store for global state management.
    • types/: TypeScript type definitions.
  • vite.config.ts: Vite configuration file.
  • tailwind.config.ts: Tailwind CSS configuration.

Security Notice

Security is a top priority for SecureWallet. Here are some key points to remember:

  • Password Security: Your password is used to encrypt your wallet file. Choose a strong, unique password.
  • No Password Recovery: If you forget your password, there is no way to recover it. Your funds will be inaccessible. Keep your password safe.
  • Local Storage: Your encrypted wallet is stored in your browser's local storage. Clearing your browser data may delete your wallet. It's recommended to back up your mnemonic phrase (seed phrase) once that feature is implemented.

This README was generated to provide a comprehensive overview of the SecureWallet project.