Pay with Ḡ1
Go to file
poka 16e9f79e14 Change profile basic disposition 2021-02-16 03:55:01 +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 play store key 2021-01-28 17:50:40 +01:00
assets Add Cs+ data 2021-02-02 20:33:09 +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 Change profile basic disposition 2021-02-16 03:55:01 +01:00
native/dubp_rs tests(dubp): add test for legacy dewif 2021-02-16 00:32:00 +01:00
packages/dubp_rs fix(dubp): get_legacy_pubkey params order 2021-02-16 00:32:00 +01:00
scripts Add little script to build all rust binaries 2021-02-12 01:56:08 +01:00
test Commented test 2021-01-11 19:14:24 +01:00
.gitignore Split walletOptions and changePin provider; Apply change PIN lenght +- 3Go RAM 2021-02-08 13:36:50 +01:00
.metadata Hello Ḡecko 2020-12-13 05:43:52 +01:00
Cargo.lock fix(dubp): master pubkey of HD wallet must not be accessible 2021-02-14 17:14:35 +01:00
Cargo.toml fix(dubp): remove absolute path 2021-02-12 18:17:40 +01:00
Makefile.toml build(rust): disable build for arch i686 and x86_64 2021-01-04 17:46:42 +01:00
README.md Document dev environment 2021-02-10 20:15:21 +01:00
pubspec.lock Peer-programming with Hugo: Copy pubkeys on tap and display notif for it. Improve pubkeys fonts 2021-02-06 08:31:14 +01:00
pubspec.yaml Settings: Add button to import Cesium wallet, and button to generate new keystore 2021-02-16 03:04:33 +01:00

README.md

Ğecko

Ğecko is a transaction client 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.