- ✅ React Native (preferred) or Flutter
- ✅ RustChain integration
- ✅ Core wallet features:
- Balance check
- Transaction history
- QR code receive
- ✅ Build + deploy
- ✅ Submit PR
- 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
GET /wallet/balance?miner_id={address}- Check balanceGET /api/miners- List miners/network statusGET /epoch- Current epoch infoGET /health- Node health check
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
-
Home Screen
- Display RTC balance
- Quick actions (Send, Receive)
- Network status indicator
-
Receive Screen
- Show QR code with wallet address
- Copy address to clipboard
- Share functionality
-
Send Screen (basic)
- Enter recipient address
- Enter amount
- Transaction confirmation
-
Transaction History
- List recent transactions
- Show amount, date, status
- 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
- ✅ Working React Native app
- ✅ Source code on GitHub
- ✅ PR to rustchain-bounties repo
- ✅ README with setup instructions
- ✅ Screenshots/demo