Production-ready Flow blockchain wallet with React Native and Browser Extension
FRW-monorepo/
├── apps/
│ ├── react-native/ # React Native shared code & Metro bundler
│ │ ├── ios/ # iOS native app (git submodule: FRW-iOS)
│ │ └── android/ # Android native app (git submodule: FRW-android)
│ └── extension/ # Browser extension (Chrome/Firefox)
├── packages/ # Shared libraries
│ ├── types/ # TypeScript definitions & data models
│ ├── api/ # HTTP API clients for backend services
│ ├── cadence/ # Flow blockchain interaction & smart contracts
│ ├── services/ # Business logic & domain services
│ ├── workflow/ # Transaction workflows & orchestration
│ ├── stores/ # State management (Zustand stores)
│ ├── ui/ # Reusable UI components (Tamagui)
│ ├── icons/ # SVG icon components
│ ├── screens/ # Complete screen implementations
│ ├── utils/ # Utility functions & helpers
│ └── context/ # Dependency injection & platform abstraction
├── docs/ # Documentation & guidelines
└── tools/ # Build tools & configurations
# Required versions
node >= 20.0.0
pnpm >= 9.0.0For React Native development, follow the official React Native Environment Setup guide:
- iOS development: Xcode >= 14, CocoaPods >= 1.15
- Android development: Android Studio, Java 17+
# Clone repository with submodules
git clone --recurse-submodules https://github.com/onflow/FRW-monorepo
cd FRW-monorepo
# Or if already cloned, initialize submodules
git submodule update --init --recursive
# Install dependencies
pnpm install
# Build all packages
pnpm build# Option 1: Separate terminals (recommended)
pnpm dev:packages # Terminal 1: Watch packages for changes
pnpm dev:rn # Terminal 2: Start React Native
# Option 2: Combined (single terminal)
pnpm dev:rn:full # Both packages watch + RN start# React Native
pnpm dev:rn # Start Metro bundler
pnpm run ios # Run on iOS simulator
pnpm run android # Run on Android emulator
# Browser Extension
cd apps/extension
pnpm dev # Development build
pnpm build # Production buildFor detailed development guidelines and best practices:
- Development Guidelines - Coding standards, architecture rules, and common patterns
- Contributing Guide - How to contribute to the project
- Architecture Guide - Technical architecture documentation
- Fork the repository
- Create your feature branch:
git checkout -b feat/amazing-feature - Follow our Development Guidelines
- Commit with conventional format:
git commit -m "feat: add amazing feature" - Run quality checks:
pnpm lint && pnpm typecheck && pnpm build - Submit a pull request
Please read our Contributing Guide for detailed instructions.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ by the Flow Foundation team
Ready to build the future of decentralized finance on Flow! 🚀