Website: https://create.fr0g.site
A secure, multilingual Flutter application for creating blockchain accounts on the Fr0g platform. The app supports 14 languages and provides a user-friendly 3-step process with captcha verification and certificate generation.
- Multilingual: Support for 14 languages (DE, EN, FR, ES, PT, RU, UK, ZH, JA, AR, HI, IT, CS)
- Secure Account Creation: 3-step process with validation
- Captcha Verification: Sliding puzzle captcha for security
- Certificate Generation: PDF export of account credentials
- Cross-Platform: Available for iOS, Android, Web, Windows, macOS and Linux
- Private Keys: Generated locally only, never transmitted
- Flutter SDK 3.35.5+
- Dart SDK 3.9.2+
- Android Studio / VS Code with Flutter plugin
-
Clone repository
git clone https://github.com/fr0gsite/createaccount.git cd createaccount -
Install dependencies
flutter pub get
-
Start application
flutter run
docker build -t fr0g-account-creator .
docker run -p 80:80 fr0g-account-creator-
Enter Username
- Format: a-z (lowercase) and numbers 1-5
- Maximum 12 characters
- Availability is automatically checked
-
Solve Captcha
- Sliding puzzle for security verification
- Drag puzzle piece to correct position
-
Receive Credentials
- Private/Public key pair generated
- PDF certificate for download
- QR codes for easy transfer
# Generate icons
flutter pub run flutter_launcher_icons
# Generate localizations
flutter gen-l10n
# Run tests
flutter test
# Release build
flutter build apk --release
flutter build web --releaseThe app uses the following server endpoints (configured in lib/config.dart):
static const websiteurl = "https://fr0g.site";
static const chainserverurl = "https://testnet.fr0g.site:8443";
static const captchaserverurl = "https://captcha.fr0g.site:2096";
static const createaccountserverurl = "https://accountserver.fr0g.site:8443";- Language: Via language icon in the app
- Colors:
AppConfig.colorPrimaryandAppConfig.colorSecondary - Animation Timer: 5 second interval for background changes
lib/
├── config.dart # App configuration and constants
├── main.dart # App entry point
├── networkaction.dart # Network API calls
├── tools.dart # Utility functions
├── datatypes/ # Data models
│ ├── accountrequest.dart
│ ├── captcharesponse.dart
│ ├── globalstatus.dart
│ ├── keypair.dart
│ └── puzzle.dart
├── l10n/ # Internationalization
│ └── app_*.arb # Translation files
├── widget/ # UI components
│ ├── creationprocess/ # Account creation flow
│ ├── disclaimer.dart
│ ├── printcert.dart
│ └── setlanguageview.dart
└── wordlist/ # BIP39 word lists
└── *.dart # Various languages
- GET
/available- Get available account slots - POST
/puzzle- Request captcha puzzle - POST
/puzzle/solution- Verify captcha solution - POST
/create- Create account
class AccountRequest {
final String message;
final String transactionid;
}
class CaptchaResponse {
final String puzzleImage;
final String targetPosition;
}- Multi-language support (14 languages)
- 3-step account creation
- Captcha integration
- PDF certificate generation
- Cross-platform support
- Animated user interface
Fr0g Account Creator - Account creation for the Fr0g community