Reprise des données de la Ğ1

Lors de notre visio d’hier, @vit a évoqué le fait que l’export effectué par py-g1-migrator reposait sur dex et que celui-ci, pour des raisons inconnues, exporte des données qui ne correspondent pas à l’état de la Ğ1.

@vit : as-tu besoin que je précise quelque chose ? mon souvenir d’hier c’est que tu vas essayer tout seul de t’insérer dans le code de py-g1-migrator pour substituer ton code à celui de dex pour la partie “création des inputs/*.json”.

1 Like

Non, ce n’est pas ça :sweat_smile:

Je vais modifier le code Python pour lire la base de données leveldb en lieu et place de lire les inputs/*.json.
Je vais faire cela petit à petit, module par module.

Le but est de se passer, si possible, complètement de dex et du passage par des fichiers intermédiaires en .json.

1 Like

Ah OK :slight_smile:

J’ai fait les gros modules. Vous pouvez tester ma branche.

Attention, il faut renseigner le fichier .env avec le chemin du dossier leveldb.
Puis exporter les variables d’environnement (voir le README.md).

1 Like

C’est bon :slight_smile: par contre je n’ai pas l’ancien fichier pour comparer, mais j’arrive bien à avoir mon fichier gtest_genesis.json.

Que de temps de perdu à essayer de faire fonctionner dex, quand je vois que tu y es arrivé si facilement :confused:

2 Likes

J’ai fait un fix ce matin, car je ne gérais pas le statut des certifications (que je gérais dans ma POC).

Elles sont maintenant correctement renvoyées (si pas de bug) avec l’état des UPDATE pris en compte.

A post was split to a new topic: Date prise en compte pour validité d’une certification

J’en ai terminé avec le remplacement des exports json de dex.
Dites-moi si cela fonctionne comme attendu.

1 Like

As-tu encore besoin du fichier inputs/ud_value.json ? Sans lui je ne peux pas exploiter ta branche (mais c’est le seul blocage).

Son contenu lors de mon dernier dump :

[
    {
        "key": "657075",
        "value": {
            "dividend": 1068,
            "mass": 7739834527,
            "medianTime": 1693494652,
            "membersCount": 8448,
            "udReevalTime": 1695218400,
            "udTime": 1693566000
        }
    }
]

edit : a priori ces données sont tirées du bindex :

dex -h "$path" find bindex -r -l 1 -p dividend mass medianTime udTime udReevalTime membersCount -o json -f "$dest_folder/inputs/ud_value.json"

edit 2 : je me suis permis de pusher le Dockerfile sur ta branche, pour que je commence les tests de bout en bout.

1 Like

Il y avait un import dans main.py que je n’avais pas vu. :blush: J’ai renommé mon dossier inputs pour provoquer le crash et fait un correctif. Cela doit fonctionner maintenant ! Désolé pour le désagrément.

J’essaie d’aller vite (erreur !), mais dès que cela fonctionne de votre côté, je vais factoriser le code (j’ai une idée pour être plus rapide dans l’exécution).

C’est tout bon pour moi :slight_smile: je n’ai pas encore vérifié les valeurs par contre, ça viendra plus tard.

14 posts were split to a new topic: [Reprise Ğ1] Monnaie manquante

J’ai poussé de nouveaux commits pour :

  • ajouter des warnings sur la monnaie ignorée
  • ne pas alimenter la Trésorerie (laisser cela à Duniter V2)
  • ne plus convertir les clé publiques V1 en adresse : cette dernière dépend du réseau, le calcul sera laissé à la discrétion de la V2 à la génération du Genesis.
  • désactiver le changement de clé publique (reste possible directement dans Duniter V2 après démarrage, ou même au Genesis si demandé)
  • ne plus convertir les temps de Duniter V1 en nombre de blocs : cela empêche d’avoir un JSON exporté reproductible, le calcul sera laissé à Duniter V2 à la génération du Genesis.
5 Likes