Skip to content
Snippets Groups Projects
vjrj's avatar
vjrj authored
d517f5ab
History

Ğ1nkgo

Ğ1nkgo logo

Ğ1nkgo (aka Ginkgo) is a lightweight Ğ1 wallet for Duniter v1 written in Flutter. The app allows users to manage their Ğ1 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").
  • QR code reader

Work in progress

  • Automatic selection of nodes
  • Send and receive Ğ1 transactions
  • View transaction history
  • View Ğ1 balance and currency conversion rate
  • Connectivity detection (to retry transactions, and other net operations)

Demo

https://g1demo.comunes.net/

Prerequisites

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

Get the dependencies.

flutter pub get

Build & deploy

Something like this should work:

flutter test 
flutter build web --release 
rsync --progress=info2 --delete -aH build/web/ youruser@yourserver:/var/www/ginkgo/

Development

Run the app via command line or through your development environment.

flutter run lib/main.dart

Pub packages

This repository makes use of the following pub packages:

Package Version Usage
Durt ^0.1.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
Card Terminal card

Credits

Thanks!

License

GNU AGPL v3 (see LICENSE)