Pay with Ḡ1
Go to file
poka 7b88d34fdb Remove ok sound on startup 2021-09-12 06:47:50 +02:00
.cargo ref(dubp):make really async & rework handle error in a more generic way 2021-01-09 21:12:52 +01:00
android Improve test mecanic; Continue test until 2nd derivation view 2021-04-29 00:01:31 +02:00
assets Responsive wallet options screen 2021-03-21 23:04:11 +01:00
config Big improve on selection of GVA endpoint at startup 2021-02-12 21:31:42 +01:00
images add bbgecko 2020-12-15 12:59:21 +01:00
ios Big improve on theme; Genral App Bar with settings menu; Option for delete all wallets on device 2021-01-16 03:32:41 +01:00
lib Remove ok sound on startup 2021-09-12 06:47:50 +02:00
linux Amand README for Desktop install 2021-05-18 03:02:56 +00:00
native/dubp_rs wip: desktop 2021-05-18 03:02:56 +00:00
packages/dubp_rs fix(dubp):  method getBip32DewifMnemonic must return a String 2021-04-26 16:19:58 +02:00
release/android ci: create job package 2021-02-26 01:53:23 +01:00
scripts Go to generation screen test; add script to start tests 2021-04-29 00:01:31 +02:00
sounds Fix bugs on startup and deleting wallets 2021-04-04 13:40:32 +00:00
test Commented test 2021-01-11 19:14:24 +01:00
test_driver Test fast keychain generation 2021-04-29 02:12:14 +02:00
web Remove ok sound on startup 2021-09-12 06:47:50 +02:00
.gitignore Split walletOptions and changePin provider; Apply change PIN lenght +- 3Go RAM 2021-02-08 13:36:50 +01:00
.gitlab-ci.yml ci: change runner: p2plegal -> redshift 2021-05-11 15:41:40 +02:00
.metadata Hello Ḡecko 2020-12-13 05:43:52 +01:00
.rusty-hook.toml git: add pre-commit hook: check format 2021-03-08 18:42:38 +01:00
Cargo.lock fix(dubp_rs): add random nonce on DEWIF 2021-05-11 15:43:02 +02:00
Cargo.toml fix(dubp): remove absolute path 2021-02-12 18:17:40 +01:00
LICENSE add LICENSE 2021-04-01 23:47:14 +02:00
Makefile.toml wip: desktop 2021-05-18 03:02:56 +00:00
README.md Update README.md 2021-06-08 17:39:31 +00:00
deny.toml ci: allow specific git sources 2021-04-25 19:41:37 +02:00
pubspec.lock Remove ok sound on startup 2021-09-12 06:47:50 +02:00
pubspec.yaml Remove ok sound on startup 2021-09-12 06:47:50 +02:00

README.md

Ğecko

Ğecko is a transaction client owned by Axiom-Team association and written in Dart. It is fast and secure thanks to native code compilation, Rust cryptography bindings and Duniter's new GraphQL API (GVA). It is not intended to manage member accounts, but rather simple wallets.

The development is quite early, you can participate in the discussion on the Duniter forum (mostly FR)

Getting Started

Demo Gif



Foo

Develop

To contribute to the code, we advise you to install the following development environment.

  1. Android Studio
  • Android VM
  • Android NDK
  1. Flutter SDK
  2. VSCode/Codium Flutter extension
  3. Rust toolchain

This will take about 12GB on your drive and 30 min of your time (with a good connection). Don't hesitate to ask on the forum for a peer-coding session if you are stuck.

Android Studio

Android Studio will let you set up an Android VM and install tools you need.

  • Install Android Studio using your favorite installation method.
  • At startup, do not open a project but click "configure" at the bottom of the "Welcome" menu
  • In "SDK Manager"
    • SDK Platforms Ttab
      • note your SDK folder location (later used for Rust environment variables)
      • select Android 11 (R) API level 30 (default)
    • SDK Tools
      • select NDK (native development kit used to compile Rust to native target)
  • In "AVD Manager"
    • create a virtual machine (ours is Pixel 4 32bits machine)
    • launch it in the emulator

If you reach this point without trouble, you're good to go for the next step.

Flutter SDK

Flutter is a powerfull SDK to develop Android apps. Install it with your favorite installation method.

VSCode

We are using VSCode and therefore document the process for this IDE. Of course you're free to use whatever you want. Clone the ğecko repo and open a dart file (e.g. lib/main.dart). VSCode will suggest you to insall relevant extensions.

Rust toolchain

After installing Rust with the standard rustup install script, follow the instructions to build Rust dependencies in this separate README. If you installed a 32bits VM, use the 32bits build command.

Build the app

In a dart file (e.g. lib/main.dart), type the F5 key to build the code. The app should open automatically in your VM which is running.

Build your app for Desktop

Linux

Install dependancies:

sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev

Then build debug for linux:

flutter run -d linux

If you get this error:

flutter /usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:643 (_pkg_check_modules_internal)

Please try:

sudo apt install liblzma-dev

then

flutter clean && flutter run -d linux

Roadmap

  • v0.1.0 (expected date: 21-08-16)
    • Reorganization of persistent data
    • Complete implementation of Figma model (made by Boris)
    • Account management (creation, security)
    • Payment (QR-code generation / reading, form)
    • Viewing transaction history
    • Finalization of integration tests and unit tests
    • Completing the network scan when starting the application
    • F-Droid publication
  • v1.0
    • Multi-vault management
    • Cesium import
    • Advanced search
    • Item basket management
    • Transaction monitoring
    • Contacts / Messaging
    • IOS compatibility
    • Sharding (sharing of key fragments)
    • Apple AppStore and Google PlayStore publication
    • Mock-up and UX design of future functionalities
  • v2.0
    • Opaque bypass
    • NFC payment
    • Desktop compatibility
    • Web of trust management (certifications, promises of certifications)
    • Calendar / community