Development talks

I propose to follow the work of the dev team today at 6:30 pm (French local time) for the launch of the official Duniter v2 blockchain and ecosystem.

Different link for the visio:
https://meet.evolix.org/axiom-team
(infos in post Bootstrap ÇŠ1 08/03/2026 - #32 by aya)

Next meeting is planned on April 3rd, before a long week-end. I won’t be able to attend it. If other contributors can’t attend it, we could shift it one week later on 2026-04-10T13:30:00Z→2026-04-10T14:30:00Z

Next meeting is planned on 2026-05-01T13:30:00Z→2026-05-01T14:30:00Z it’s a long week-end like last month. Will you able to attend the meeting?

Je voulais proposer le 8 mai, car le premier mai est fĂ©riĂ©. Je ne serais pas disponible le 8 mai, du coup je me rabats sur le 1á”‰Êł mai. Une prĂ©fĂ©rence de votre part ? Sinon le 24 avril ?

En France, le 8 mai est aussi férié. (Une histoire obscure de fin de seconde guerre mondiale :saluting_face: )

Ok. J’ai corrigĂ© mon message qui proposait une date en mars :man_facepalming:
Est-ce que le 24 avril irait ?

Pas d’avis ! Donc, je choisis ce vendredi 2026-04-24T13:30:00Z→2026-04-24T14:30:00Z

Résumé de la réunion, réflexions autours :

  • problĂšmes Cesium
  • Indexeur/ĞTest

Les détails sont dans le pad.


Prochaine rĂ©union 2026-06-05T13:30:00Z→2026-06-05T14:30:00Z

Que veux-tu dire avec :-1: sous mes postes @HugoTrentesaux ?

J’imagine qu’il voulait dire qu’il ne pourrait pas assister à la rencontre du vendredi 24 avril :wink:

Merci pour le suivi :folded_hands:

Est-ce qu’il y a une date de prĂ©vue pour une prochaine rencontre Devs ?

C’est ce que je me dis. Étant donnĂ© que la rĂ©action a Ă©tĂ© faite aprĂšs que la rĂ©union a eu lieu, je pose la question.

Oui, si tu regardes bien, c’est annoncĂ© plus haut :wink:

Synthùse des Dev-Talks Duniter (nov. 2024 — avr. 2026)

par Claude, prompté et filtré par 1000i100

17 rĂ©unions dĂ©pouillĂ©es, du dev-talk du 2024-11-25 jusqu’au 2026-04-24. PĂ©riode couvrant la prĂ©paration, la migration (7 mars 2026) et le suivi post-migration de la Ğ1 v2.

Complété en fouillant sur de git.duniter.org et forum.duniter.org au 2026-05-01.


1. Livrables (logiciels, sites, dépÎts)

Livrables

CƓur protocolaire / rĂ©seau

Nom Création DerniÚre MAJ Source Autres liens
Duniter v2 (nƓud substrate) 2021-07-14 2026-04-06 nodes/rust/duniter-v2s issues required-for-gtest
Duniter v2s monitoring 2022-11-12 2026-03-07 nodes/rust/duniter-v2s-monitoring v2s-monitor.axiom-team.fr · gtest-monitor.p2p.legal
Squid (indexeur GraphQL) 2023-11-21 2026-03-26 nodes/duniter-squid images Docker duniter/squid-app-gtest, 
postgres-gtest, 
graphile-gtest
Datapod V2 (prototype Hugo) 2024-03-28 2025-08-08 HugoTrentesaux/ipfs-datapod implémentation centralisée v2 nodes/v2s-datapod (créé 2023-12-17, derniÚre MAJ 2025-08-04)
Networks (endpoints partagés) 2024-10-22 2026-04-03 nodes/networks fichiers g1.json, gtest.json
Duniter mocks (env. dev tout-en-un) 2025-12-16 2026-02-22 tools/duniter-mocks —
Outil de snapshot G1 v1 → v2 (tools/p
) 2022-10-04 2026-03-05 tools/py-g1-migrator backup brut
Cesium+ pods (datapod V1, conservĂ©) 2023-09-18 — clients/cesium-grp/cesium-plus-pod instance unique : g1.data.e-is.pro

Apps utilisateurs / portefeuilles

Nom Création DerniÚre MAJ Source Autres liens
CesiumÂČ 2021-07-15 2026-04-30 clients/cesium-grp/cesium2s releases
Cesium v1 (maintenu jusqu’à la migration) 2017-11-25 2026-03-20 clients/cesium-grp/cesium —
Ğecko (mobile Flutter) 2021-02-25 2026-04-30 clients/gecko clients/gecko-web (variante web, derniĂšre MAJ 2025-07-28) · forum
G1nkgo (web/mobile, vjrj) 2023-03-05 2026-04-22 vjrj/ginkgo app · refactor Flutter : clients/flutter/ginkgo (créé 2026-02-21) · lib : polkadart
G1companion (extension navigateur) 2022-01-30 2026-03-01 clients/g1companion —
Tikka (compta/finance, Python) 2021-07-30 2026-04-29 clients/python/tikka install via pipx ; AppImage envisagée
Silkaj (CLI Python) 2018-04-06 2026-04-30 clients/python/silkaj site · forum
Ğcli / g1cli (CLI Rust) 2022-06-24 2026-04-17 clients/rust/g1cli (anciennement gcli-v2s) —
Ğ1superbot (chatbot Matrix/Telegram) 2023-03-04 2026-04-12 kapis/g1-wallet-bot bot Telegram
Duniter-connect (extension fork Polkadot.js) 2023-12-05 2026-03-20 clients/duniter-connect forum
Duniter-portal (fork Polkadot apps) 2024-07-21 2026-03-14 clients/duniter-portal forum
Duniter Panel (debug, Vue) 2026-03-19 (renommage) 2026-03-19 HugoTrentesaux/duniter-vue tag forum
Carte Ğ1 (site Vue3) 2021-06-02 2026-04-01 websites/carte-g1 carte.monnaie-libre.fr
Juna.cat (Ă©vĂ©nements/marchĂ©s Catalogne) — — externe (hors git.duniter.org) juna.cat

Sites & monitoring

Nom Création DerniÚre MAJ Source Autres liens
monnaie-libre.fr 2021-02-14 2026-04-13 websites/monnaie-libre-fr site rendu ; CMS Nuxt + nuxt-content + NetlifyCMS ; annonces multilingues FR/EN/IT/ES/DE/PT/EO
g1currency.org — — source non publiĂ© sur git.duniter.org site
v2s-monitor (déploiement) 2026-02-17 2026-03-07 tools/v2s-monitor v2s-monitor.axiom-team.fr
Forum Duniter — — (Discourse hĂ©bergĂ©) forum.duniter.org

Documentation & ressources de référence

Ressource Lien
Liste des paramĂštres protocolaires Duniter v2s forum 9297
Liste des endpoints forum 12347
Checklist migration forgerons forum 13588
Issues required-for-gtest duniter-v2s issues

2. Choix & arbitrages d’architecture

Cryptographie & gestion des clés

  • Adoption d’ed25519 (au lieu de sr25519) pour la gĂ©nĂ©ration des mnemonics — discussion forum 12996 ; implĂ©mentation dans gcli via g1cli!44 (mergĂ©e).
  • Guidelines wallet (RFC) : ed25519 par dĂ©faut, scan de dĂ©rivations HDWallet, Argon2 pour code de dĂ©verrouillage, code ≄ 4 caractĂšres, sĂ©curitĂ© diffĂ©renciĂ©e compte membre vs portefeuille, interdiction de stocker le mnemonic (seed/clĂ© privĂ©e seulement).
  • Multi-signature envisagĂ©e pour comptes communs (3-sur-5).
  • Ğ1superbot : conserve les anciennes clĂ©s base58 v1 pour les comptes existants ; ne gĂ©nĂšre que des ss58 pour les nouveaux comptes.
  • Format d’import/export inter-apps : colonne meta BSON dans la sqlite des wallets (gcli/g1companion).
  • Ğcli vault : passage de clĂ©s brutes Ă  fichiers en DB + arbre de dĂ©rivation HDWallet — g1cli!41 (mergĂ©e).

Stratégie de migration

  • Migration sans CesiumÂČ complet (juin 2025) : faute de financement E-IS, la communautĂ© dĂ©cide de lancer la Ğtest sans attendre la complĂ©tude de CesiumÂČ.
  • Ğtest plutĂŽt que Ğdev comme prĂ©-prod (Ğdev maintenue tant qu’il y a des nƓuds).
  • Annonce de date : initial refus (proposition EloĂŻs), puis annonce du 7 mars 2026 minuit (en pratique migration vers 18h30 aprĂšs backup et arrĂȘt forgerons v1).
  • Ordre de bascule v2 : backup v1 → arrĂȘt forgerons v1 → lancement genesis v2 → indexeurs + nƓuds miroirs → migration comptes forgerons via g1cli → relance nƓuds forgerons → tests.
  • CesiumÂČ remplace Cesium v1 dans les stores (mise Ă  jour de l’app existante, pas deux apps distinctes) — option dĂ©fendue par cgeek lors des RML18 (cf. devtalk du 2025-05-02) et confirmĂ©e Ă  la migration (devtalk du 2026-03-06 : « v2 remplace v1 dans le Store »).
  • App restreinte Ă  un rĂ©seau unique (Ğdev ou Ğtest ou Ğ1) plutĂŽt que switcheable, pour Ă©viter les confusions utilisateurs (devtalk du 2025-05-02, arbitrage cĂŽtĂ© CesiumÂČ). Choix suivi par la plupart des apps. Exception : G1nkgo est restĂ© multi-rĂ©seaux (compatible Ğtest v2 et Ğ1 v1, avec une option de bascule supprimĂ©e a posteriori aprĂšs la migration — devtalk du 2026-03-06).

Indexation & endpoints

  • Calcul des DU non rĂ©clamĂ©s dĂ©placĂ© dans les indexeurs (et non dans les clients).
  • PrĂ©-calcul de la rĂšgle de distance par Duniter (cron 5 min) → indexĂ© dans Squid avec rĂ©fĂ©rence du bloc.
  • DĂ©couverte des endpoints par 3 sources combinĂ©es : hardcoded → API RPC → repo nodes/networks. Algorithme de sĂ©lection : vĂ©rif du genesis hash, dernier bloc (height/hash), comparaison rĂ©seau, ping.
  • Champs expireOn / expireIn : choix d’expireOn (pas de bloc futur rĂ©fĂ©rencĂ©).
  • Suivi des versions d’indexeurs pour que les clients choisissent le bon nƓud Squid.

Datapods (longue discussion non tranchée)

  • Position retenue par dĂ©faut (aoĂ»t 2025) : on conserve les pods Cesium+ V1 (avec instance unique de Benoit), faute de mieux. Datapod V2 prototype Hugo gardĂ© en R&D.
  • CompatibilitĂ© Cesium+ V1 ↔ V2 retrouvĂ©e via le retour Ă  ed25519.
  • ModĂ©ration : approche centralisĂ©e cĂŽtĂ© serveur en gardant les signatures pour dĂ©centralisation future.
  • Postgis ajoutĂ© aux datapods — ipfs-datapod#25 (ouverte).

Décentralisation / infrastructure

  • CritĂšres de seuil plutĂŽt que nombres absolus : forgerons (min. 3 ; 3-4 FR / 3-4 ES / 3-4 hors-UE, pas tout chez OVH), miroirs (1 par zone, dont auto-hĂ©bergĂ© et DNS hors GAFAM), Squid (DDoS, R&D auth HTTP), Datapods (mini 3, confort 5).
  • Doc forgeron bilingue : EN technique (devs) + FR formation (forgerons, devient site de formation).
  • MĂ©thode d’install simplifiĂ©e (curl 
 | sh) dĂ©battue — dĂ©cision de la mettre en avant.
  • Bootnode WSS Brussels ajoutĂ© au repo networks — networks!14 (mergĂ©e).

Vocabulaire (proposition EloĂŻs, juillet 2025)

  • Abandon du mot “client” → utiliser “app” et “(web)app”.
  • Distinction “base58 pubkey” (legacy) vs “ss58 address”.

Comité technique (mars 2026)

  • Vote validĂ©.
  • Formation Ă  la lecture du code Rust de Duniter v2 (avec aide IA pour la cohĂ©rence).
  • CritĂšre informel : ≄ 2/3 du CT alignĂ©s avec les valeurs monnaie-libre pour Ă©viter prise de pouvoir.

3. Bugs & problÚmes identifiés

Bugs/tickets discuté en devtalks

Résolus

ProblÚme Référence Résolution
DiffĂ©renciation compte v1/v2 — Champ createdOn = 0 cĂŽtĂ© indexeur ⇒ compte v1
Bug doublon code pin CesiumÂČ (mobile/desktop) — IdentifiĂ©, fix dans CesiumÂČ
PrĂ©parer ĞTest itĂ©ration 2 (rĂ©initialisation) duniter-v2s#311 (closed 2026-02-26) Pris en charge par Moul
Identity on empty account (transfer-all + compte membre vidable à 0) duniter-v2s#321 (closed 2026-02-27) Bug fixé dans Duniter v2
GTest wrong parameters (DU, certifications) duniter-v2s#323 (closed 2025-10-04) ; duniter-v2s!339 (mergée) Pris en charge par Moul
Hash divergent Cesium+ forum 12156 Vérification cÎté CS+ serveur jugée suffisante
Migration smith (compte affichĂ© membre + 1 Ğ1) — Il faut ĂȘtre offline pour migrer en tant que smith
Forum duniter.org instable — RedĂ©marrage serveur par Immae
MR fork networks non rebasable via GUI GitLab — Contournement : suppression du fork + rĂ©-Ă©dition crĂ©e un nouveau fork Ă  jour
Connexion Ğecko ↔ Ğ1 v2 forum 9372/590 Lecture du genesis hash
Adoption ed25519 dans gcli g1cli!44 (mergée) Choix entre ed25519 et sr25519 implémenté

Non résolus / en cours au moment des notes

ProblĂšme RĂ©fĂ©rence État
DNS Google en dur dans le conteneur Duniter duniter-v2s#296 (opened 2025-03-29) Toujours ouverte
Historique évaluations absent dans indexeur (oracle de distance) duniter-squid#17 (opened 2024-03-13) Toujours ouverte
Postgis dans datapods (geoloc) ipfs-datapod#25 (opened 2025-02-02) Toujours ouverte
MR g1cli “Massive changes by Claude LLM” (scan P2P) g1cli!60 (opened 2026-02-22) Ouverte ; arbitrage en cours sur rĂ©duction du scope
DU non réévaluĂ© (Ğtest) (ticket interne) Ouvert
Oracle de certification dysfonctionnel — Seul l’oracle de vjrj fonctionne ; manque d’oracles
Tikka crash “genesis hash different” — Trace dev-talk nov. 2025 ; pas de ticket trouvĂ©
Squid 0.5.6 plante au démarrage (0.5.5 OK) forum 13522 Discussion forum ouverte
Indexeur Ğtest impossible Ă  dĂ©marrer from scratch forum 13632 Discussion forum
Un seul indexeur public Ğtest en 5.11 alors que Ğecko exige ≄ 5.13 — ConstatĂ© avril 2026
CI Squid cassĂ©e — SignalĂ©e fĂ©v. 2026
Cesium v2.2.1 indisponible Play Store — ConstatĂ© avril 2026
UX CesiumÂČ invitation/1Ăšre certification — Reproduit l’UX v1, Ă  repenser pour le flux v2
Bug certification smith Bulma (CertificationIsAOnlineSmithPrivilege) — Workaround : go-offline → 2h → rotate keys → online
py-substrate-interface (lib Tikka) sans mainteneur — Fork par vit ; financement de la lib en discussion
Espace disque nƓuds forgerons (pas de pruning) — R&D admin sys
Bus factor projet indexeur (poka/LLM seuls capables) — Proposition de session de transmission
Messages Cesium v1 disponibles seulement en FR/EN/ES — Fix proposĂ© : copier en/ vers les autres langues + release

Juste pour dire que je ne peux malheureusement pas participer. J’essaye de venir Ă  chaque fois que possible, mais quand je peux pas, j’essaye quand mĂȘme de l’indiquer en avance si possible, sinon en retard :see_no_evil_monkey:. Je trouve que rĂ©diger un message serait trop lourd. On pourrait copier-coller un sondage de participation Ă  chaque fois pour que les personnes prĂ©sentes sachent si elles doivent attendre du monde ou pas. Mais en l’absence de sondage, j’utilise :+1: / :-1: .

Rappel !

Prochaine rĂ©union 2026-07-03T13:30:00Z→2026-07-03T14:30:00Z