This guide provides detailed information for developers working on the REChain project.
- Flutter 3.32.8 or higher
- Dart SDK
- Git
- Rust toolchain (for vodozemac compilation)
- Android Studio or Xcode for platform-specific development
-
Clone the repository:
git clone https://github.com/sorydima/REChain-.git cd REChain- -
Install dependencies:
flutter pub get
-
Set up pre-commit hooks (optional):
pip install pre-commit pre-commit install
-
Configure environment variables (if needed):
- Copy
config.sample.jsontoconfig.json - Update configuration values as required
- Copy
- Use feature branches for new work:
git checkout -b feature/your-feature-name - Keep branches up to date with main:
git rebase origin/main - Follow conventional commit messages
- Use the provided
.editorconfigfor consistent formatting - Run
flutter formatto format Dart code - Use
flutter analyzefor static analysis
- Write unit tests for new features
- Run tests:
flutter test - Integration tests:
flutter drive --target=test_driver/app.dart
- Debug build:
flutter run - Release build:
flutter build apkorflutter build ios
REChain follows a modular architecture:
- Core Layer: Matrix protocol, IPFS, blockchain integrations
- Service Layer: AI, analytics, serverless functions
- UI Layer: Flutter-based user interface
- Platform Layer: Native code for Android, iOS, etc.
- Located in
lib/matrix/ - Handles messaging, federation, and bridges
- Located in
lib/blockchain/ - Manages wallets, transactions, and smart contracts
- Located in
lib/ipfs/ - Handles decentralized file storage and retrieval
- Located in
lib/ai/ - Integrates GPT, moderation, and analytics
- Follow the Contributing Guidelines
- Use the Code Style Guide
- Submit pull requests against the main branch
- Use Flutter DevTools for performance profiling
- Enable verbose logging in debug mode
- Use breakpoints and hot reload for rapid iteration
- Use Codemagic for CI/CD
- Shorebird for code push updates
- Follow platform-specific deployment guides
This development guide is part of the REChain documentation suite.