Back to Home
Developer Guide - Dogecoin Wallet
Welcome, developers! This guide will help you contribute to the Dogecoin Wallet project and understand its architecture.
Project Structure
dogecoin-wallet/
├── wallet/ # Main Android app
│ ├── src/ # Java source code
│ ├── res/ # Android resources
│ └── build.gradle # App build configuration
├── integration-android/ # Integration library
└── website/ # Project website
Prerequisites
- Android Studio 2023.1.1+
- Android SDK API Level 34
- Java 8+
- Git
Building the Project
Clone Repository
git clone https://github.com/qlpqlp/dogecoin-wallet.git
cd dogecoin-wallet
Open in Android Studio
- Open Android Studio
- Select "Open an existing project"
- Navigate to the cloned repository
- Wait for Gradle sync to complete
Build Commands
# Debug build
./gradlew assembleDebug
# Release build
./gradlew assembleRelease
# Run tests
./gradlew test
Architecture
Core Libraries
- libdohj 0.15: Dogecoin protocol implementation
- AndroidX: Modern Android libraries
- Room: Local database
- ML Kit: QR code scanning
Key Components
- WalletService: Background synchronization
- AddressBookAdapter: Address management
- FamilyModeManager: Child wallet functionality
- DigitalSigningService: Document signing
Development Guidelines
Code Style
- Follow Android coding standards
- Use meaningful variable names
- Add comments for complex logic
- Write unit tests for new features
Git Workflow
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
Contributing Areas
Code Contributions
- Bug fixes
- New features
- Performance improvements
- Security enhancements
Translations
- Add new language support
- Improve existing translations
- Update string resources
Documentation
- Update user guides
- Improve code comments
- Create tutorials
Testing
Unit Tests
./gradlew testDebugUnitTest
Integration Tests
./gradlew connectedAndroidTest
Release Process
- Update version numbers
- Run full test suite
- Build release APK
- Sign with release key
- Upload to Google Play Console
Security Considerations
- Never log private keys or sensitive data
- Use secure random number generation
- Validate all user inputs
- Follow Android security best practices
Getting Help
License
This project is licensed under GPL v3.0. See License for details.
Much contribute, very community! Let's make Dogecoin Wallet even better together!