Skip to content

Latest commit

 

History

History
91 lines (79 loc) · 2.7 KB

File metadata and controls

91 lines (79 loc) · 2.7 KB

RustChain Mobile Wallet - Project Plan

Task: Issue #1616 - Mobile Wallet App (20 RTC)

Requirements

  • ✅ React Native (preferred) or Flutter
  • ✅ RustChain integration
  • ✅ Core wallet features:
    • Balance check
    • Transaction history
    • QR code receive
  • ✅ Build + deploy
  • ✅ Submit PR

Technical Stack

  • Framework: React Native + Expo (fastest setup, cross-platform)
  • Language: TypeScript
  • API Integration: RustChain REST API (https://50.28.86.131)
  • QR Code: expo-camera / expo-barcode-scanner
  • UI Components: NativeWind (Tailwind for RN) or default components
  • State Management: React Context + Hooks

API Endpoints to Use

  1. GET /wallet/balance?miner_id={address} - Check balance
  2. GET /api/miners - List miners/network status
  3. GET /epoch - Current epoch info
  4. GET /health - Node health check

Project Structure

rustchain-mobile-wallet/
├── App.tsx                 # Main app component
├── app.json               # Expo configuration
├── package.json           # Dependencies
├── tsconfig.json          # TypeScript config
├── src/
│   ├── components/        # UI components
│   │   ├── BalanceCard.tsx
│   │   ├── TransactionList.tsx
│   │   ├── QRScanner.tsx
│   │   └── Header.tsx
│   ├── screens/           # App screens
│   │   ├── HomeScreen.tsx
│   │   ├── SendScreen.tsx
│   │   ├── ReceiveScreen.tsx
│   │   └── HistoryScreen.tsx
│   ├── services/          # API services
│   │   └── rustchain.ts
│   ├── context/           # State management
│   │   └── WalletContext.tsx
│   └── utils/             # Utilities
│       └── formatters.ts
├── assets/                # Images, fonts
└── README.md              # Documentation

Features (MVP)

  1. Home Screen

    • Display RTC balance
    • Quick actions (Send, Receive)
    • Network status indicator
  2. Receive Screen

    • Show QR code with wallet address
    • Copy address to clipboard
    • Share functionality
  3. Send Screen (basic)

    • Enter recipient address
    • Enter amount
    • Transaction confirmation
  4. Transaction History

    • List recent transactions
    • Show amount, date, status

Timeline

  • Phase 1: Project setup + basic UI (2 hours)
  • Phase 2: API integration (2 hours)
  • Phase 3: QR code functionality (1 hour)
  • Phase 4: Testing + polish (1 hour)
  • Phase 5: Build + PR submission (1 hour)

Total: ~7 hours

Deliverables

  1. ✅ Working React Native app
  2. ✅ Source code on GitHub
  3. ✅ PR to rustchain-bounties repo
  4. ✅ README with setup instructions
  5. ✅ Screenshots/demo