Pay with Ḡ1
Go to file
poka 97f20bafe5 Apply linter 2021-11-14 19:21:20 +01:00
.cargo ref(dubp):make really async & rework handle error in a more generic way 2021-01-09 21:12:52 +01:00
android Change launcher icon, remove shadow 2021-11-12 01:31:30 +01:00
assets WIP: Make Cesium great again 2021-11-14 04:33:59 +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
integration_test Fix appbar color 2021-11-06 20:19:27 +01:00
ios Change launcher icon, remove shadow 2021-11-12 01:31:30 +01:00
lib Apply linter 2021-11-14 19:21:20 +01:00
macos Apply linter 2021-11-14 19:21:20 +01:00
native/dubp_rs wip: desktop 2021-05-18 03:02:56 +00:00
packages/dubp_rs dubp: ignore classes with only static members 2021-11-07 04:23:34 +01:00
release/android ci: create job package 2021-02-26 01:53:23 +01:00
scripts WIP: Change defaultWallet Methode 2021-11-12 01:35:38 +01: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 Apply linter 2021-11-14 19:21:20 +01:00
web Remove ok sound on startup 2021-09-12 06:47:50 +02:00
windows Apply linter 2021-11-14 19:21:20 +01:00
.gitignore Start hive integration 2021-09-12 07:41:20 +02:00
.gitlab-ci.yml ci: version 0.0.8, switch to stable channel 2021-11-08 18:29:55 +01: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
analysis_options.yaml Apply linter 2021-11-14 19:21:20 +01:00
deny.toml ci: allow specific git sources 2021-04-25 19:41:37 +02:00
pubspec.lock Apply linter 2021-11-14 19:21:20 +01:00
pubspec.yaml Apply linter 2021-11-14 19:21:20 +01: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