Ğecko: Nouveau client de paiements Ḡ1 sur mobile en cours de développement (Dart/Flutter)

Essai ça, c’est peut être qu’il faut que tu autorises les installations « non sécurisés » dans les paramètres d’android.

En fait je faisant le téléchargement a partir de firefox, je l’ai refais avec google, et ça fonctionne.
En acceptant l’installation d’application d’origine inconnues.
Il ne me reste plus qu’a tester. !!
Merci.

1 Like

Ma première expérience utilisateur.

J’ai tester la création d’un portefeuille.
Je vois une clé publique une phrase de restauration et un code secret.
J’ai cliquer sur enregistrer, et la j’ai vue que j’aurai du noté la phrase de restauration :crazy_face:

Je recommence
Cette fois J’ai imprimer la phrase de restauration (ou plutôt créer le pdf sur mon téléphone), et j’ai cliquer sur enregistrer le portefeuille.
J’ai donc pu saisir le mot de phrase de restauration en regardant le pdf, et donné un nom à ce portefeuille ; « essai 1 ».
Puis j’ai voulu accéder au portefeuille, c’est à ce moment que j’ai vu que le code secret n"était pas imprimé.
Du coup impossible d’accéder à ce portefeuille, et impossible de le supprimer. :crazy_face:
Ce serait peut être bien de ne pas le créer avant que je tape le code secret ! :roll_eyes:

Je recommence
Et cette fois je fais une capture d’écran, pour avoir toute les infos sous la main.
J’ai enfin réussi à créer un portefeuille. :sunglasses:

Je suppose que si ce n’était pas un test j’aurais fait plus attention, mais je crois que beaucoup de personnes feront comme moi en découvrant l’appli sans être guidé. :innocent:

Je me dit que pour la phrase de passe un simple fichier txt suffirai.
Je crois qu’il faudrait attirer l’attention sur le fait de stocker la phrase de restauration et de bien retenir le code secret avant de continuer.
Il faudrait peut être aussi insister sur le fait que cette phrase doit être sauvegarder sur un autre support (au cas ou le téléphone tomberais en panne)

Après je me demandais comment utilisé ce compte sur mon pc (avec césium ou un autre client), mais ce n’est sans doute pas le but.

Voila mes réflexions du soir, en tant qu’utilisateur basique.

1 Like

Oui en effet, je vais ajouter une validation de code secret avant création.
Est-ce que tu as vue les bulles d’informations pour les éléments de la page de génération de portefeuille ? Ou est-ce que tu ne les as pas vues sans que je t’en parle ?

Je n’ai pas ajouté le code secret sur la feuille à imprimer, car le code secret peut être modifié une fois le wallet créé. Donc il peut devenir obselète sur un papier.
Mais bon peut être que ce serait mieux de l’imprimer avec, qu’en pensez vous ?

Mais plus globalement, j’aimerais arrêter de générer autant de code secrets que de portefeuille générés, pour plutôt générer un code secret global, définit à la première exécution de l’app, et qui sert à chiffrer tous les dewif, mais je ne suis pas sûr que ce soit possible, je ne vois pas comment faire sans sotcker ce code secret quelque part, ce qui est bien sûr impensable.

Je ne sais pas ce que tu en penses @elois ?


Si tu peux supprimer tous les portefeuilles dans les paramètres de l’app.

Oui tu as bien raison, merci pour ces précieux retours.

Lorsque que tu imprime un portefeuille, tu peux l’imprimer vers un fichier PDF plutôt qu’une imprimante. Tu peux aussi envoyer ce PDF via une app de partage proposé parmi celle que tu as d’installés (email, chats, ect…)

C’est typiquement un cas d’usage des HDwallets (et plus largement, de tous les algos de dérivation) :

Tu as un trousseau maître, sécurisé par un code, et des trousseau enfants dérivés de ce trousseau maître.

Du coup, un seul PIN, celui du trousseau maître.

NB: suivant la manière de dériver les trousseau enfants, quelqu’un d’extérieur peut dériver les clefs publiques enfants depuis la clef publique maître. Pour moi, une clef pub maître doit donc rester secrète sauf cas spécifiques.

Les comptes importés pourraient être stockés comme DEWIF avec un mot de passe nécessitant la clef privée maître. Par ex. La clef privée maître signe sa propre clef publique, et on utilise cette signature comme passphrase pour les DEWIF des trousseau importés.

J’aimerais bien bosser sur la dérivation de wallets, mais:

  • je vais d’abord finir ce que j’ai commencé
  • j’ai juste survolé le sujet, je n’en comprend pas tous les aspects, risques et possibilités.
  • je n’ai pas trouvé de lib ou binding python pour bosser dessus
  • je sais que certaines implémentations pour ED25519 sont vulnérables, mais ne sais pas trier le bon grain de l’ivraie.

… bref, s’il y a un.e expert.e, je pense que ce serait un bon sujet de visioconf :wink: . Notamment, définir un schéma de dérivation et un format d’import me semble nécessaire avant une première implémentation.

1 Like

OUI je les ais vu, mais je n’y a fais gaffe qu’au deuxième ou troisième essai.

Je me dis que ça serait bien de l’avoir sur l’imprimé, avec un avertissement pour dire qu’il peut être modifié.

Je trouve que ce serait bien un code secret global, peut en le re-générant à chaque création de portefeuille ?
Un truc qui demanderais le code du portefeuille précédent, pour le ré encoder avec le nouveau code. Peut-être que cela serai possible ainsi ! :shushing_face:

En effet, mais j’aurais voulu ne supprimer que celui ci. :roll_eyes:


J’ai fait le test du scanner, j’ai apprécié la possibilité d’allumer la torche quand il fait sombre. :sunglasses:
J’ai été surpris de ne voir qu’un seul chiffre après la virgule. Je ne suis pas au centime près mais ce derniers chiffre m’aide à identifier mes virements.
Je suppose que l’affichage en DU sera paramétrable, est-ce l’affichage sera au centième ou au millième?


Je me dis qu’en plus de mes portefeuilles cela pourrait être sympa d’avoir une liste de portefeuilles “amis” pour les comptes sur lesquels je fait régulièrement des virements.
Pour pouvoir ajouter un nom sur un portefeuille que je scanne, même s’il n’est pas à moi.
Pour pouvoir aussi les reconnaître dans la liste des transactions.


J’apprécie la rapidité d’usage ce client, et je serais ravi de tester les prochaine fonctionnalité. :star_struck:

Oui tu as raison, pour le coup, les HD wallets auraient entre autre cet avantage.
Je ne sais pas, j’avou que cet élément me fait revenir un peu sur ma décision de ne pas implémenter les HD wallets dès le début, en fait, ce serait peut être mieux.

J’ai besoin de creuser au max cette question et d’expérimenter moi même ces HD wallets avant de me décider.
En fait un binding Rust pour ça serait peut être très utile @elois :sweat_smile:

Oui quoi qu’il arrive c’est un sujet qu’il faut creuser et qui a de l’avenir.

Est-ce que tu aurais des idées pour mieux informer sur cette page, sans trop encombrer la page ?

Je pense que tu as raison, je vais l’imprimer sur la page avec la mention que tu as mis.

Hey mais c’est tordu, mais pas si bête comme idée !

Ouai c’est vrai que ce serait bien de pouvoir supprimer un wallet ciblé dont on a oublié le code secret, sans avoir à tout effacer …

Ahaha c’est un bug, j’avais pas fait gaffe, merci !

Oui, au centième.

C’est prévus prochainement :wink:
Avant ça, je veux travailler la vue recherche, celle-ci est encore innactive, et aura une place importante. C’est dans cette vue que tu pourra accéder à tes portefeuille de contact (en plus de l’historique des portefeuille scannés/visités).

Yes merci, je focus sur rapidité et ergonomie le plus épuré possible. Ces deux points se complexifies de jour en jour avec l’arrivé de nouvelles fonctionnalités, comme le débarquement des données Cesium+:

Peek 31-01-2021 16-39

DISCLAIMER: Les données Cesium+ demanderont une attention toute particulière concernant leur affichage. Ne vous emballez pas.

Ce serait se tirer une balle dans le pied que de se passer de la richesse de ces données. Comme je l’ai toujours dit, pour moi le soucis est avant tout une question d’UX.
J’attends que @tuxmain finisse de merger sa branche sur dev pour pouvoir afficher/rechercher les userID membres en blockchain via GVA. Les nom de protefeuille Cesium+ seront au second plan, et je vais donner une attention toute particulière à ne pas ramener les confusion que l’UI de Cesium peut apporter (C’est normal, c’était le début, Benoît à tout abbatus presque seul là dessus, il est temps maintenant de peaufiner cette UX. C’est ce que je compte faire dans gecko).

Que pensez-vous de tout ça ?

3 Likes

Ah oui j’avais oublié d’enlever le wip du nom du commit, merci. Par contre je n’ai pas le pouvoir de merger.

Edit: si en fait c’est bon, @elois tu peux merger quand tu veux.

2 Likes

Est ce que gecko permettra de faire des paiements avec un compte « normal » ou ce sera uniquement avec les wallets individuels ?

J’ai pas compris, qu’appels-tu un compte normal ?

1 Like

Un compte portefeuille Ğ1 non créé avec gecko.
Un simili cesium en définitive.

C’est pas clair.

Tu pourra importer un portefeuille avec ID+MDP cesium oui, et il sera traité comme les autres dans gecko.
Mais tu ne pourra pas te connecter à Cesium avec ta phrase de restauration gecko, tant que Cesium ne le permet pas. J’espère que @kimamila l’implémentera.

C’est ça ta question ?

1 Like

Donc en fait, je peux me connecter avec mon compte Ğ1 comme dans cesium, payer comme dans cesium etc…
Ce serait intéressant de compiler ton code dart en JS, je crois que c’est possible :slight_smile:

Oui tout à fait, mais niveau UX il ne sera pas indiqué de créer un nouveau wallet façon Cesium, mais si en vrai, ce sera possible via l’import, tu met ce que tu veux en ID+MDP, mais ce sera affiché comme un import de wallet existant, pas comme la création d’un nouveau.

Bah ya plusieurs choses, d’abords compiler les libs Dart que j’implémente, pour GVA, par exemple, en JS. Ca c’est possible.

Mais pour la partie crypto j’utilise le binding Rust de @elois, donc ce binding peut être fait en JS. Je crois que c’est même déjà le cas.

Donc ya des gros morceaux de Rust dans Gecko :yum:

Je sais pas trop, peut-être rendre les icônes d’informations plus voyant, je les avais à peine remarqués la première fois.
Ou mettre des cases à cocher “j’ai bien sauvegardé ma phrase de restauration” et “j’ai bien mémorisé mon code secret”


Du coup pour le PDF à imprimer, ce serait sympa d’y mettre les qr-code clé publique et qr-code ewif. En les séparant bien genre un pointillé à découper.
Et tant qu’on est dans les vœux, y mettre aussi le nom du porte-feuille qu’on a choisi.
Du coup il faudrait commencer par donner un nom (optionnel) avant de créer le portefeuille.
Et temps qu’a faire, pourquoi pas un récapitulatif de tout les portefeuilles enregistrés a chaque ajout d’un portefeuille. Avec une partie “privée” et une partie publique.
Ce récapitulatif pourrait être imprimé à la demande.
Et mettre l’avertissement garder cette feuille en lieu sûr en plus gros et en haut de page. Parce que c’est hyper important.


Pour les données césium+, moi j’aurais peur que ça ralentisse le truc. Je ne m’attendais pas à les voir si tôt.
Par contre il me semble important de bien faire ressortir l’identité duniter, afin d’éviter toute confusion avec nom et prénom.


Quand je veux voir un portefeuille que j’ai créé il me demande mon code secret, OK :innocent:
Si je fait un retour arrière, et que je veux revenir dessus il me redemande mon code secret, là je trouve que c’est abusé :stuck_out_tongue:

Voila c’était mes réflexions du jour :sunglasses:

2 Likes

Oui c’est une bonne idée la case à cocher. Je songe aussi à ouvrir par défaut tous les tooltips pendant 2 secondes, puis faire clignoté les (i) une ou deux fois, pour bien savoir qu’ils sont là.

De toute façon, si on part sur des HD Wallets (option que je préconise désormais après réflexions), ce processus ne se ferais qu’une seule fois, au premier démarrage de l’app, et je pourrais revoir complètement cette vue.

Pour les QRCodes oui exellente idée, je vais faire ça :slight_smile:
Pour le nom du portefeuille, si on part sur des HD wallets, plus besoin.

Les HD wallets simplifieront infiniment plein de choses en fait.

Oui. Si le coeur t’en dit, tu peux me faire un exemple de PDF fictif avec une mise en forme soigné comme tu l’a en tête (avec libreoffice par exemple ou peut import). Je pourrais m’en inspirer.

Ca par contre c’est pas possible de faire autrement et c’est normal, en fait le wallet est chiffré avec le code PIN secret certaines actions du la vue Options de portefeuille nécessitent ce code secret, pour changer de code secret par exemple, donc il est stocké en mémoire juste le temps qu’on est dans cette vue (Je pourrais d’ailleurs ajouter une expiration au bout de 5 min par exemple).

En réalité on aura pas besoin d’aller très souvent dans les options de wallets :wink:

Je ne sait pas vraiment ce sont les HD wallet. Il faudra que je me renseigne.

Oui, je vais essayé de trouvé le courage de faire ça.

1 Like

Quelques retours :

  1. Quand je télécharge l’apk depuis Fennec (Firefox) elle est reconnue comme un zip, mais pas une apk, donc je n’arrive pas à l’installer. Ma solution a été de re-télécharger l’apk mais avec Chromium et étrangement ça marche.
  2. Pas mal de travail a été fait depuis mon dernier test qui remonte à une des premières versions ! @attilax l’icône est super, il faudrait juste la retravailler pour qu’elle rende mieux en petite taille (niveau de détail, contour, couleurs, contraste)
  3. Un truc facile à ajouter est le pseudo associé à une clé publique. C’est du confort, mais ça aide aussi à tester.
  4. Le comportement de se déplacer sur la clé publique d’origine en clicant sur une transaction m’a surpris. Je m’attendais plutôt à avoir plus de détails sur la transaction (quels détails, je ne sais pas :smiley:)
  5. Il faut ajouter les événements à l’historique de navigation pour pouvoir utiliser le bouton « triangle » pour revenir en arrière

Voilà. J’ai hâte de jeter un coup d’œil au code pour voir comment contribuer. Je n’ai jamais setup d’environnement de dev pour Android, mais ça m’intéresserait d’essayer (est-ce documenté quelque part?).

1 Like

Coucou,

Tu l’a téléchargé depuis git.p2p.legal ou le nextcloud ?
Si c’est depuis le Gitea, c’est normal, j’ai ouvert une issue à ce sujet.

Je ne vois pas de quels soucis graphiques tu parles ? chez moi l’icone rend très très bien même en tout petit. Screen ?

Oui si tu relis un tout petit peu plus haut:

Oui pour l’historique des portefeuilles observés, je vais le faire, par contre pour le comportement du clic, pour le moment, je souhaite garder ce comportement, je le trouve pratique et plutot intuitif dans la mesure où il y ait un historique comme tu le dit.
Je ne vois pas quoi mettre d’autre (je ne mettrais pas le vue du bloc comme le fait Cesium).
De toute façon cette vue Accueil va énormément changer, suite aux échanges que j’ai eu avec Matograine niveau UX, et autres, ça va bouger. On peu en discuter oralement si tu veux contribuer :slight_smile:


Je n’ai pas encore fait de README à ce sujet, mais c’est très simple:

Install et configure Flutter sur ton PC en suivant la doc officielle:

La doc indique comment installer android studio aussi du coup. Dans android studio menu AVD tu créer un émulateur Android sur le modèle de ton choix, version Android de ton choix au dessus de SDK 17 (moi je suis sur le SDK 30 actuellement, mais tout entre SDK 17 et 30 doit fonctionner).

Un fois cargo bd executé avec succès, dans VSCode, ouvre le projet Gecko (git clone auparavant bien sûr), et appui sur F5, choisi ton émulateur Android, et Enjoy :wink:

Grace au Hot reloading de FLutter, ctrl+s suffit dans VSCode pour mettre à jour en temps réel l’app dans l’émulateur.

2 Likes


Voilà comment ça rend chez moi, mais je pense que c’est surtout une histoire de goût !