Ğinkgo
Ğinkgo is a lightweight G1 wallet for Duniter v1 written in Flutter. The app allows users to manage their G1 currency on their mobile device using just a browser.
Features
- Introduction for beginners
- Generation of Cesium wallet and persistence (if you refresh the page, it should display the same wallet address).
- A point-of-sale device that generates a QR code for the public address and other QR codes with amounts (which lightweight wallets will understand).
- Internationalization (i18n)
- Some contextual help (for example, by tapping on "Validity").
- Connectivity detection (to retry transactions)
- QR code reader
Work in progress
- Send and receive G1 transactions
- View transaction history
- View G1 balance and currency conversion rate
Demo
Installation
This repository requires Flutter to be installed and present in your development environment.
Clone the project and enter the project folder.
git clone https://git.duniter.org/vjrj/ginkgo.git
cd ginkgo
You can remove the screenshots located in assets/img/.
Get the dependencies.
flutter pub get
Run the app via command line or through your development environment. (optional)
flutter run lib/main.dart
Pub packages
This repository makes use of the following pub packages:
Package | Version | Usage |
---|---|---|
Durt | ^1.0.6 | Duniter crypto lib |
Bloc | ^8.1.0 | State management |
Flutter Bloc | ^8.1.1 | State management |
Hydrated Bloc | ^9.0.0 | Persists Bloc state with Hive |
Equatable | ^2.0.5 | Easily compare custom classes, used for Bloc states* |
Flutter Lints | ^2.0.1 | Stricter linting rules |
Path Provider | ^2.0.11 | Get the save path for Hive |
Flutter Displaymode | ^0.5.0 | Support high refresh rate displays |
Easy Localization | ^3.0.1 | Makes localization easy |
Hive | ^2.2.3 | Platform independent storage. |
Url Launcher | ^6.1.7 | Open urls in Browser |
Ionicons | ^0.2.2 | Modern icon library |
Easy Localization
To add translations, add it to assets/translations
and enable it in main.dart
. Also go to ios/Runner/Info.plist and update the following code:
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
<string>es</string>
</array>
``
Screenshots
Wallet | Terminal card |
---|---|
![]() |
![]() |
Credits
- G1 logo from duniter.org
- undraw intro images: https://undraw.co/license
- Chipcard https://commons.wikimedia.org/wiki/File:Chipcard.svg under the Creative Commons Attribution-Share Alike 3.0 Unported license.
Thanks!
License
GNU AGPL v3 (see LICENSE)