J’ai un contre-exemple : Bcabon et EveJOURDIN pouvait passer à la même date (08/08/2017 20:35:44), mais un seul pouvait passer à la fois puisqu’ils avaient deux certificateurs en commun (LudovicPecquot et HubertGicqueau). Dans l’ordre alphabétique du champ uid, Bcabon aurait du passer le 8 août, mais c’est EveJOURDIN qui est arrivée la première…
En effet ça n’a pas l’air d’être l’UID, mais un truc un peu plus compliqué :
https://github.com/duniter/duniter/blob/dev/app/modules/prover/lib/blockGenerator.ts#L174
let newcomers = _(joinData).keys()
Je parcours le tableau newcomers
dans l’ordre donné par la méthode .keys()
, mais je ne le maîtrise pas. C’est la librairie _
(underscore.js) qui le donne. Je ne suis même pas sûr que cet ordre soit déterministe, même si les tests semblent indiquer que si (et donc que le mélange soit nécessaire pour avoir une entrée aléatoire).
1 Like
Oui, effectivement. C’est dur à maitriser, ces imbrications de bibliothèques. Il faudrait à chaque fois relire tout le code. Vivement la version 1.4 !