Skip to content
Snippets Groups Projects
Forked from vjrj / ginkgo
1306 commits behind the upstream repository.
vjrj's avatar
vjrj authored
few fixes about json and flutter version

See merge request !2
de750fb1
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
  • Contact management
  • Import/export of your wallet
  • Transactions history page and Balance
  • Automatic discover and selection of nodes
  • Customizable via env file

Work in progress

  • Send Ğ1 transactions
  • Connectivity detection (to retry transactions, and other net operations)
  • Search improvements

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)