Cesium² : top départ!

Merci de ton test. Pour l’instant l’App est encore très buggé.
L’assistant de création de compte par phrase de restauration est sans doute à revoir.

Je conseille d’utiliser la connexion par identifiant secret et mot de passe, car c’est la cible prioritaire de cette migration de Cesium. Les nouveaux comptes pourraient par exemple utiliser Gecko.
A terme cela fonctionnera, bien sûr, mais je dois y aller par étapes… et déjà faire de l’iso fonctionnel, pour que les utilisateurs de Cesium v1 s’y retrouvent

1 Like

Je maintiens duniter-squid et je pense que c’est une meilleure option pour le long terme pour des raisons qu’il me reste à détailler par écrit. Il est juste trop tôt pour migrer les clients qui utilisent duniter-indexer (Ğecko et Ğecko-web) parce que ça va encore pas mal bouger.

Sur https://subsquid.gdev.coinduf.eu/graphql tu peux faire par exemple :

recherche d’identité par uid

query MyQuery {
  identities(limit: 10, where: {name_containsInsensitive: "ben"}) {
    name
  }
}

recherche d’identité par adresse

query MyQuery {
  accountById(id: "5Cn8tEqF1rBGpUFJgqnadsS9AyczHePrqb9rskzATmsZTeDN") {
    id
    identity {
      name
    }
  }
}

Par contre, pas par pubkey, c’est l’adresse au format ss58 qui a été choisie comme index. Mais tu peux obtenir l’adresse côté client depuis la pubkey.

exemple de recherche avec un “OR”

query MyQuery {
  accounts(where: {id_eq: "5Cn8tEqF1rBGpUFJgqnadsS9AyczHePrqb9rskzATmsZTeDN",
  OR: {identity: {name_eq: "poka"}}}) {
    id
    identity {
      name
    }
  }
}

La pubkey base58 n’est pas du tout indexée pour l’instant, mais on peut faire un index de plus si nécessaire. (mais théoriquement on ne devrait pas chercher par clé publique partielle, ce n’est pas fait pour).

Tu peux utiliser transfersIssued, transfersReceived, certIssued, certReceived.

2 Likes

Ok j’ai essayé avec un portefeuille que je n’ avais pas migrer.
Connexion OK.
Tentative de virement, c’est pas encore ça

J’ attends la suite des développements…
Merci pour votre boulot.

3 Likes

Ah zut, c’est parceque la monnaie Gdev est mal reconnue (le genesys a du changer - et moi je teste souvent en local) et que les fees sont mal récupéré (coté Cesium).
Bref, je vais corriger en mettant des valeurs par défaut.

1 Like

Salut, et beau boulot. J’ai maintenant un environ locale qui tourne et des défauts qui ont l’air de marcher, au moins pour moi, contre un noeud locale.

J’ai trouvé un bug sur la fonction de transfer (mismatch of decimal units), facile à fixer, mais je ne suis pas sur aux règles des frais sur les transfers, et les remboursements. C’est documenté où çà? J’ai vu que le client ajoute des frais au transfer (je pense que c’est une erreur, parce que cette monnaie finit dans le wallet du destinataire) et après la blockchain registre un refund event.

Je peux faire un MR avec le bug et ce que je crois est la possible solution et on peut discuter là.

Une doute encore, je ne comprens bien la rationale pour les branches de master et develop… on veut travailler dans develop et merger sur master occasionellement, ou selon quelque critère…? Dois-je faire mes MR contre develop?

Oui, c’est mieux.
La mise à jour du master se fera lors d’une release.
Je suis en cours de préapration des scripts pour cela. :slight_smile:

Pour le moment, les frais sont en dur (à 0.01 GD). On peut laisser comme cela, histoire de bien prévoir l’interface graphique pour cela, car en prod il devrait y en avoir, si j’en bien tout suivi.

Nouvelle version 2.0.0-RC2 : app-release-2.0.0-rc2.apk - Google Drive

Dites moi si ca marche. mieux (cc @Maaltir). Je suis passé de APK à AAB, car plus simple à builder en ligne de commande. Donc on devrait pouvoir construire le fichier AAB via le gitlab CI.

@txels je viens de pousser sur la branche develop. Il ya maintenant des scripts (npm run android:xxx) pour :

  • android:prepare : preparer son environement de compilation Android
  • android:build : synchronize le code avec le projet Android dans <CESIUM2_ROOT>/android. A tester sous Android Studio ensuite
  • android:bundle ou android:bundle:release : Génération du fichier AAB en débug ou production.

Attention, pour le moment, il faut ajouter une fichier <CESIUM2_ROOT>.local/env.json comme suit :

{
  "JAVA_HOME": "/usr/lib/jvm/java-1.17.0-openjdk-amd64", // A path to a valid JDK 
  "ANDROID_SDK_ROOT": "/home/<A_USER>/Android/Sdk", // A path to Android SDK (if not exists will be created by the task 'npm run android:prepare'
}

Draft: fix: correctly compute transfer amount (!5) · Merge requests · clients / Cesium-grp / cesium2s · GitLab le MR avec le bug pour discuter.

Les AAB ne sont pas installables directement avec le fichier, ils sont uniquement destinés à être publiés sur le play store.
Sans passer par l’app store, il faut obligatoirement passer par des APK.

Ah zut. :frowning: Merci pour l’info !

EDIT: j’ai corrigé le lien vers la rc2

1 Like

Je ne sais pas si c’est que moi, mais je n’arrive pas à télécharger depuis tes liens GDrive. Sur PC ça mouline à l’infini, et sur phone ça fait carrément crasher mon navigateur !

Si tu veux tu peux utiliser https://cloud.axiom-team.fr, ta un bouton “s’incrire avec le forum Duniter” pour te connecter en SSO depuis ce forum.
Si tu fais ça tu me dis et je te fou du quota pour uploader (c’est une nextcloud hébergé chez moi, j’ai de la place, et j’ai la fibre).

1 Like

J’ai réussi à faire un virement :notes: :tada: :sparkler:
J’ai pu vérifier avec Gecko que le virement était bien fait !!!

3 Likes

Ok donc ya que moi qui n’arrive pas à télécharger l’apk :thinking:

Voilà ! le fichier est sur ton cloud.

Désolé je m’aperçois que j’ai mis une version “-rc” et non “-alpha” comme c’est l’usage. Je le ferai la prochaine fois :slight_smile:

1 Like

Mon premier virement fait avec Cs² depuis le compte test/test vers Kimamila, ça fonctionne :slight_smile:

6 Likes

Après un peu plus de recherche, j’ai modifié mon MR avec le bugfix des frais appliqués par erreur: Bugfix: correctly compute transfer amount (!5) · Merge requests · clients / Cesium-grp / cesium2s · GitLab

Comme follow-up, j’aimerais bien de savoir si/où on a documenté les règles de la monnaie (style “pour tous les publics”), où on explique p.e. les frais que s’appliquent aux transactions, comment ils se décident (gouvernance de la monnaie), quelles transactions ont droit à remboursement etc. Parce que je suis très newbie ici et je ne connais pas tous les détails, et c’est facile de se perdre dans les discussions du forum essayant de trouver des conclusions. Merci bien en avance!

cc @kimamila @HugoTrentesaux

1 Like

Un autre bugfix: Bugfix: "unknown error" appearing after most completed transfers (!6) · Merge requests · clients / Cesium-grp / cesium2s · GitLab

Tout ça a beaucoup évolué et n’est pas encore documenté pour le grand public, ni tellement pour les développeurs. C’est de la “R&D” assez fraîche : Implémentation des quotas. Quand on aura fini les gros chantiers en cours sur le code, je pourrai documenter, mais là c’est trop tôt parce que le boulot en cours est bloquant pour les indexeurs.

1 Like

J’ai fait une grosse mise à jour (dans develop) : début de gestion de l’indexer en graphql.
La recherche dans l’annuaire fonctionne, ainsi que l’historique des transactions.

Si tout ca bien nous pourrions facilement ajouter les certifications.

2 Likes

Peut quelqu’un suggerer des tâches pour nous les newbies…? On essaie d’aider ici mais un peu de guidance ça serait appréciée.

Par example il n’ya par pour le moment des issues sur Issues · clients / Cesium-grp / cesium2s · GitLab, seul cette issue dans Duniter v2 Contribute to Cesium² (#142) · Issues · nodes / rust / Duniter v2S · GitLab

I’d be happy to take that one big issue in Duniter and break it down into individual issues in the Cesium2 repo if that helps, and then someone who knows the codebase could triage them to tag the easier ones for us to tackle.

Opinions?

2 Likes