Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • weblate
  • ginkgo-fix/shows-errors-on-qr-reading
  • v1.4.0
  • v1.3.1
  • v1.3.0
  • v1.2.3
  • v1.2.2
  • v1.2.1
  • v0.0.8+1
  • v1.2.0
  • v1.1.0
  • v1.0.2
  • v1.0.1
  • v1.0.0
  • v0.2.4
  • v0.2.3
  • v0.2.2
  • v0.2.1
  • v0.2.0
  • v0.1.5
  • v0.1.4
  • v0.1.3
23 results

ginkgo

  • Clone with SSH
  • Clone with HTTPS
  • Ğ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).
    • Send Ğ1 transactions
    • Transactions history page and Balance with persistence to load last transactions on boot
    • Contact management and cache (to avoid too much API petitions)
    • Internationalization (i18n)
    • QR code reader
    • Import/export of your wallet
    • Automatic discover and selection of nodes, error recovery & retry
    • Customizable via env file
    • Inline tutorials
    • Pagination of transactions
    • Some contextual help (for example, by tapping on "Validity").

    Demo

    This is a demo used for testing a development, please use a production server for stability:

    https://g1demo.comunes.net/

    Ğ1nkgo in production

    Translations

    First of all, you can contribute translating Ğ1nkgo to your language:

    https://weblate.duniter.org/settings/g1nkgo/g1nkgo/

    Docker

    mkdir -p ~/.ginkgo/nginx-conf mkdir -p ~/.ginkgo/www

    Dev contributions

    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/

    Run dev environment

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

    flutter run lib/main.dart

    In order to do gva operations, you should disable cors in the flutter run config:

    --web-browser-flag "--disable-web-security"

    cors disable

    Pub packages used

    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>
      <string>fr</string>
      <string>ca</string>
    </array>

    ``

    Screenshots

    Wallet Terminal card
    Card Terminal card

    Credits

    Translations

    • ast: dixebral
    • ca: calbasi
    • de: FW
    • fr: vincentux, poka
    • gl: Vijitâtman
    • nl: Maria Rosa Costa i Alandi
    • pt: Carlos Neto

    Thanks!

    Others

    Thanks!

    License

    GNU AGPL v3 (see LICENSE)