Ğecko sur Androïd

Le build Gecko 0.5.10+165 ne fonctionne pas bien pour la migration d’un ancien compte Cesium.

Testé à l’instant pour deux comptes, l’un certifié et l’autre simple, et par 2 méthodes :

  1. Par création un nouveau coffre
    RAS jusqu’au porte-feuille vide («Root wallet» créé automatiquement), ensuite l’opération «Migrer un ancien compte ld/Mdp» se déroule correctement (login + password ok, ancienne clé V1 Ok, crédit en GT Ok) mais après la confirmation, elle échoue avec le message «Impossible de charger votre phrase de restauration» alors que rien n’est demandé ni 1 mot de la phrase, ni le code PIN ?!?
  2. Par importation (non recommandée) avec «J’ai un ancien compte Cesium» puis «Créer un nouveau coffre à la place»
    Même problème, RAS jusqu’au porte-feuille vide mais la migration de l’ancien compte Césium échoue avec la même erreur.

C’est un problème général et connu de cette version, ou est-ce spécifique pour certains comptes ?

Merci pour ce retour.
De ce que tu décris, on dirait un soucis au moment du tout nouveau système de demande de confirmation des 2 mots de la phrase de restauration qui sont maintenant demandé au moment de la migration.
Je veux bien un screenshots de l’erreur pour comprendre à quelle étape stp.

Est-ce que d’autres reproduisent cette erreur svp ?

C’est un compte id/password avec une identité membre associé ?

Voici les captures pour le compte non membre (j’ai effacé le mot de passe, bien sûr saisi).
Je n’ai pas eu l’écran de demande de 2 mots de la phrase, ce qui explique probablement l’échec.
A noter aussi, l’adresse v2 g1… qui n’est pas la même entre l’écran 1 de saisie des identifiants et l’écran 2 de confirmation, c’est étrange et perturbant pour l’utilisateur attentif.

1 Like

Ça, c’est normal !
Tu migres ton compte avec id mdp vers un autre compte créer avec phrase de restauration. Donc un compte différent.

Je suis bien d’accord sur le fait qu’il y a changement de compte / portefeuille,
mais je ne comprend pas pourquoi il est affiché d’abord une adresse «v2: g1NCxS…» (sous la clé «v1:AcHdk2…») sur la page de saisie. Adresse que je suppose calculée pour le nouveau compte V2 à créer, mais qui n’est pas celle présentée ensuite dans la page de confirmation «g1KBbm…» qui concerne tout autant le nouveau compte V2 à créer.
Techniquement quelque chose m’échappe probablement, mais fonctionnellement ce n’est pas cohérent / rassurant.

En fait, il est possible d’utiliser le compte V1 (ID/MDP) en V2.

Et si tu utilise ce compte V1, il a également une adresse SS58 associée (qui démarre par “g1…” quand on est en GTest ou quand on sera en prod).

Cela explique la différence :slight_smile:

Edit:
Exemple en utilisant gcli pour afficher les informations de mon compte V1 (ID/MDP) importé dedans:

gcli vault inspect -v g1v1_Nicolas80
Enter password to decrypt the <Base> account key
> Password ********
Substrate URI: 'REDACTED'
Crypto scheme: ed25519
Secret seed/mini-secret: 'REDACTED'
Public key (hex): '0xccbfa4c428fd1d37d2c3ad495928456a1be56fe63bb6f23726dd38838c088dfb'
SS58 Address: 'g1PcEKFn1eRCn4h2hRmbuzFASJJZuap4H87KBd9cSHdWzK8LQ'
(potential G1v1 public key: 'EnFfLNWnonXwxmzipLbbqa1fybSs7xdPoYhmbkMYzR3G')

On retrouve bien mon adresse V1 actuelle: ‘EnFfLNWnonXwxmzipLbbqa1fybSs7xdPoYhmbkMYzR3G’
ainsi que mon adresse SS58 (V2): ‘g1PcEKFn1eRCn4h2hRmbuzFASJJZuap4H87KBd9cSHdWzK8LQ’

En fait si, on peut continuer à l’utiliser, mais ce n’est pas conseillé.

Et oui le compte ID/mdp possède une adresse au format V2, de même qu’un compte créer en V2 possède aussi une clé publique au format V1 (césium continue da l’afficher alors qu’il devrait éviter)

Un compte peut avoir différents affichages (d’adressage) de la clé publique, il est conseillé d’oublier la forme V1 (source d’erreur) pour utiliser le format V2 (commençant par G1) qui est plus sûre, car auto vérifié.

Gecko affiche ce format V1 au moment de la migration, pour que l’utilisateur puisse vérifier sa clé dans l’ancien format. C’est le seul moment ou Gecko affiche cet ancien format, qui ne devrait plus être utilisé.

Ok, je crois comprendre que dans la première page ce sont les «clé publiques» de l’ancien compte V1, aux deux formats V1 et V2. Tandis que dans la page de confirmation c’est enfin l’adresse utile du compte à créer, au format V2 / SS58. C’est bien cela ?

1 Like

Y a-t-il une purge et un ré-import des données Ğ1 dans la blockchain ĞTest, de prévue avant le 08/02/2026, pour pouvoir rejouer des migrations qui n’ont pas fonctionné proprement ?
Et pouvoir vérifier ainsi le comportement d’une version plus récente.
Je vais avoir des utilisateurs à conseiller, et pour l’instant Gecko n’est pas rassurant.

Hello,
Il y a simplement eu une regression sur les migrations depuis la dernière version, je n’ai pas du tout eu le temps de m’y pencher mais j’en aurait à partir de Lundi, n’ayez crainte.
Ce bug sera vite corrigé.
Entre Lundi et le 8 Mars, je vais avoir quasiment tout mon temps pour debug Gecko :slight_smile:

4 Likes

Merci Poka pour ces info.
Y a-t-il un moyen d’ajouter dans un coffre, non pas un compte vide en utilisant le bouton «+», mais un compte existant qui a déjà été migré en V2 par ailleurs (ex: avec Cesium²) ?

Dans Gecko, à l’intérieur d’un coffre (lié à un compte principal avec sa phrase de restauration), tu ne peux ajouter que des dérivations (de “0” à “50” je pense).

Si tu veux importer un autre compte principal, il faut ajouter un autre coffre :slight_smile:

La migration d’un compte non membre, c’est juste un virement des ǧ1.
Donc il te suffit de transférer tes Ǧ1 sur le nouveau compte, que tu auras créé vide !

@Nicolas80 Je crois comprendre que pour un compte migré de V1 à V2 sur une autre application, celle-ci l’a déjà rattaché à un coffre qu’il faut importer dans Gecko pour accéder au compte. Ce compte est donc de fait dans un autre coffre, et il n’est pas possible de changer de coffre. Il vaut donc mieux envisager le mouvement des fonds vers un autre compte, dans le coffre visé.

@Maaltir En effet, virer le solde d’un ancien compte non membre est plus simple que de vouloir tenter sa migration à tout prix. Et le résultat est le même, on peut retrouver l’historique des transactions de l’ancien compte, par l’opération de virement qui apparaît dans l’activité du nouveau compte.

Je ne comprends pas cette phrase !

La migration, c’est un changement de compte, on veut oublier un ancien compte parce que sa sécurité n’est pas au top ou a été compromise.
Pour changer de compte simple, il suffit de virer les ǧ1 de l’ancien compte vers le nouveau.
C’est ce que fait Gecko quand vous demandez la migration d’un compte simple (à l’origine Gecko ne devait pas permettre l’utilisation de compte id/mdp)
La migration d’un compte membre ajouter le transfert des certifications et de l’identité vers le nouveau compte.

Gecko ne gère pas de notion de coffre pour les comptes avec Id/Mdp.

Ce n’est pas plus clair pour moi.
“Ce compte” c’est lequel ?
On peut gérer plusieurs coffres avec Gecko, on peut facilement passer d’un coffre à un autre. On peut même migrer un coffre entier dans un autre coffre.

Cela dépend de ce que tu appelles compte principal !
Tu peux très bien avoir plusieurs comptes membres dans un même coffre. Par exemple si tu gères le compte d’une personne sous tutelle.

1 Like

J’avoue que je ne connais sans doute pas tous les cas d’usage dans Ğecko; mais de ce que j’ai vu, un “coffre” Gecko; c’est juste pour un compte “principal”; avec la possibilité d’avoir les dérivations “0” à “50” dedans en plus (quand ce compte principal est du nouveau format avec mnémonique/phrase de récupération).

Je n’ai pas vu d’option pour ajouter un compte (non dérivé) à l’intérieur d’un “coffre” Gecko.

Un exemple pour illustrer, en créant un compte avec un mnémonique/une phrase de récupération de test que je ne réutiliserai pas:

sure trouble suffer evil clip call utility tent fruit hollow disagree heavy

J’ai importé ce compte dans Gcli.
J’ai ajouté 2 dérivations sur ce compte “0” et “1”; et j’ai également transféré quelques GTest sur ces comptes.

Si on visualise le compte principal (et ses dérivations) cela donne ceci:

gcli vault list for -v test-Nico-root
available SS58 Addresses linked to Base[address:g1PKX9Vt6s7sUMcKZVVRSCte3ygbFQXmvtCZnC7yfX1gWLyNi, g1v1_pub_key:DvWHDdETHAJj9f4Gx8KNWcbdRqBbxkaB2N6sxmvtX3uB, name:Some("test-Nico-root"), crypto_scheme:Some(Ed25519)]:
┌─────────────────────────────────────────────────────────────────────────────────────────┐
│ SS58 Address                                          Crypto    Path     Name           │
╞═════════════════════════════════════════════════════════════════════════════════════════╡
│ g1PKX9Vt6s7sUMcKZVVRSCte3ygbFQXmvtCZnC7yfX1gWLyNi     ed25519   <Base>   test-Nico-root │
│ ├ g1PRbvqky5hdHyni7Ycc5mMUZCctnoJvfnJr4VvPmixYMXXim             //0      Derivation0    │
│ ├ g1K9H2q8hEpnVbkbHhDnuPmExY1shteNq2ET3UWXvU2HcHpPg             //1      Derivation1    │
└─────────────────────────────────────────────────────────────────────────────────────────┘

On peut vérifier les données détaillées du compte principal:

gcli vault inspect -v test-Nico-root                                                                                                           
Enter password to decrypt the <Base> account key
> Password ********
Substrate URI: 'sure trouble suffer evil clip call utility tent fruit hollow disagree heavy'
Crypto scheme: ed25519
Secret seed/mini-secret: '0xdf431c73a38e859d66bc4db44d73218b1dd5e5c6fad1ddd565d807ed42621dc1'
Public key (hex): '0xc00121efac5c6294d4978873cfe6e6f250286e0335d7a87812a5232485c32f9a'
SS58 Address: 'g1PKX9Vt6s7sUMcKZVVRSCte3ygbFQXmvtCZnC7yfX1gWLyNi'
(potential G1v1 public key: 'DvWHDdETHAJj9f4Gx8KNWcbdRqBbxkaB2N6sxmvtX3uB')

On peut vérifier les données détaillées des comptes dérivés (on remarque que la “Substrate URI” est la même avec la dérivations ajoutée “//0”, …)

gcli vault inspect -v Derivation0              
The linked <Base> account is Base[address:g1PKX9Vt6s7sUMcKZVVRSCte3ygbFQXmvtCZnC7yfX1gWLyNi, g1v1_pub_key:DvWHDdETHAJj9f4Gx8KNWcbdRqBbxkaB2N6sxmvtX3uB, name:Some("test-Nico-root"), crypto_scheme:Some(Ed25519)]
Enter password to decrypt the <Base> account key
> Password ********
Substrate URI: 'sure trouble suffer evil clip call utility tent fruit hollow disagree heavy//0'
Crypto scheme: ed25519
Secret seed/mini-secret: '0x91e1a73c427a754f76a816e91766abc1ec9728460600ab9849ee7ee7e4b6eaba'
Public key (hex): '0xc4a4b3ad6c439f70639a1207432ca0835fdff72f14d650e022c3ee56a7101450'
SS58 Address: 'g1PRbvqky5hdHyni7Ycc5mMUZCctnoJvfnJr4VvPmixYMXXim'

Et maintenant, si j’ouvre Gecko fraichement installé, et je fait “restaurer mes portefeuilles” => restaurer le “cofre” pour le compte “principal”, il va créer un “coffre” pour ce compte, et chercher automatiquement tous les comptes dérivés entre “0” et “50” (avec un solde suppérieur à 0) et les afficher également à l’intérieur de ce “coffre”

2 Likes

Exact !
Mais un compte dérivé peut-être membre. Dans le respect de la licence.

1 Like

Cette version corrigé les problèmes dernièrement relevés: Ğecko - Last build - #155 by GeckoBuilds

2 Likes

Bonjour Poka, la migration de mon compte non certifié par “Migrer un ancien compte Id/Mdp” a bien fonctionné cette fois, et m’a demandé 2 mots de la phrase du coffre avant d’accepter de migrer le compte.
C’est assez surprenant, mais cette migration à conduit à vider le portefeuille en question, pour virer l’intégralité de son solde dans le portefeuille racine du coffre. Ceci au lieu de créer / ajouter simplement un autre compte dans le coffre comme je l’imaginais.
Et difficile de rejouer les 2 scénarios décrits au début de ce fil, car je n’ai plus de comptes non migré.

L’écran de migration te propose de choisir le portefeuille vers lequel effectuer la migration.

Tu peux alimenter en gtest un compte id/password cesium, comme test/test par exemple que j’utilise beaucoup, pour rejouer des migrations autant que tu veux, mais que avec des transferts de monnaies pour le coup, sans identités associés.
Sinon migrer ton identité de nouveau vers un wallet id/password, mais je crois que duniter limite dans le temps ces changeOwnerKey.

1 Like