🍇 La toile de confiance animée

Je montre ici un brouillon de wotmap animée :

https://cloud.p2p.legal/s/SjjwXtYkGymCNto
(on ne peut pas upload de fichier webm sur le forum, ni de fichier >4Mo)

On y voit l’évolution de la wotmap depuis la création de la monnaie jusqu’à ce matin. C’est une première tentative, que je vais compléter. Pour l’instant elle souffre de quelques défauts :

  • les certifications et les membres ne disparaissent pas (une certification valable Ă  un moment l’est jusqu’à la fin de l’animation, une identitĂ© rĂ©voquĂ©e ne disparaĂ®t pas)
  • tous les nĹ“uds sont prĂ©sents dès le dĂ©but mĂŞme si invisibles, ce qui donne la forme en croissant de lune
  • elle n’est pas aussi lisible que la wotmap Ă  cause de l’algo utilisĂ© et par manque de couleur

Le code sera publié quand il sera propre :slight_smile:

[edit 1] voici une première version du code peu documentée : https://git.42l.fr/HugoTrentesaux/animwotmap et une deuxième preview : https://cloud.p2p.legal/s/GnjoQ97EAmk4Sg6 [/edit]

[edit 2] la dernière prévisualisation est disponible ici :

[/edit]
16 J'aimes

:hugs: superbe animation de la WOT!

on pourrait appliquer la mĂŞme technique aux DU et TX?

1 J'aime

Bien sûr, il faut juste trouver un moyen d’afficher ça de manière lisible. Pour les transactions, on pourrait faire briller les blocs pendant un petit temps, mais pour les DU, je n’ai aucune idée de comment faire. Enfin, avant d’ajouter des fonctionnalités inédites, je vais plutôt améliorer l’existant. J’aimerais :

  • avoir plus de contrĂ´le sur le nombre de frames gĂ©nĂ©rĂ©es (pour l’instant il y a une frame pour chaque bloc contenant une certification, ce qui est beaucoup)
  • rendre la carte plus lisible (ajustement de la densitĂ© du graphe, de la taille des cercles, couleurs)
  • implĂ©menter ForceAtlas2, l’algorithme utilisĂ© par la wotmap
  • intĂ©grer ça Ă  la wotmap en sigmajs pour gagner l’interactivitĂ©
  • faciliter la prise en main

Mais le code est là, si tu as une idée, je t’en prie !

1 J'aime

C’est très joli !

Si tu veux t’inspirer de la wotmap pour colorier les communautĂ©s : script/wot_json.py · master · Pierre-Jean CHANCELLIER / Wotmap · GitLab (ça risque d’augmenter considĂ©rablement le temps de rendu j’imagine)

Ça serait bien d’avoir la date et N écrits dans un coin.

1 J'aime

Oui, la détection de communautés est aussi au programme (couleurs). Il y a une version en Julia dans LightGraphs donc ça devrait être plus rapide que du python et pas trop difficile à ajouter. Sinon, la date et N c’est une bonne idée, je n’y avais pas pensé ! À noter que pour l’instant le N monte jusqu’à 3700 puisque je prends pas en compte pas les départs.

1 J'aime

je suis trop vieux pour redevenir codeur, alors je suis rĂŞveur.

En fait ce que tu as a fait et permis de visualiser est fondamental aux chaines de blocs. Parcourir ses index selon un flux temporel et visuel

Dans ce cas d’usage, avoir un curseur A|B comme dans un logiciel de montage video lui donnerait une bonne interface. je ne me rends pas compte si ton code peut devenir un module pour Blender, AviDemux ou OpenShot… mais y’en a plein d’autres, peut-être compatible avec ta techno.

J’aimerai bien aussi pratiquer le même exercice sur les chaines de blocs scuttlebutt. branché à un algo de machine learning, on aurait des résultats visuels et des méta interprétations. https://machinelearningforkids.co.uk/"

1 J'aime

J’ai légèrement avancé sur le code pour prendre en compte (approximativement) l’expiration des certifications et pour afficher une image par jour (avant il y avait une image par nouvelle certification). Une visualisation est disponible ici :

7 J'aimes

Cette arrivé de @Pi_Nguyen en force sortie de nulle part quoi … ahahah

1 J'aime

À mitiger parce que dans cette vidéo je me suis trompé pour l’expiration des certifications (1 an au lieu de 2). Donc pas mal de nœuds diminuent de taille alors que Pi a encore des certifs toutes fraiches :rofl:

2 J'aimes

Les nœuds qui apparaissent sortent tous du centre, est-ce un effet du layout ou est-ce pour faire joli ?

1 J'aime

J’ai adopté la technique suivante pour pouvoir calculer rapidement toutes les images (15 minutes seulement pour les 667 images de cette vidéo) :

  1. calculer un premier layout pour le jour zéro
  2. conserver les coordonnées obtenues pour le jour suivant
  3. ajouter les nœuds au moment de leur apparition (les noeuds sont ajoutés à peu près au milieu)
  4. laisser la simulation tourner pour quelques itérations et retourner à l’étape 2

Comme je laisse peu d’itérations pour la simulation, les nœuds n’ont pas le temps de bouger jusqu’à une position d’équilibre, c’est pour ça qu’on les voit sortir du centre.

Si on laisse plus d’itérations, on se retrouve plus près d’une position d’équilibre, mais les nœuds dérivent plus de leur position sur l’image précédente. J’aimerais donc procéder en deux étapes :

  1. calculer une position pour les nouveaux nœuds avec beaucoup d’itérations en gardant tous les autres nœuds fixés
  2. laisser tourner la simulation sur peu d’itération pour équilibrer le graphe

Pour arriver à un état d’équilibre plus représentatif, on pourrait ajouter un nouveau nœud au barycentre de ses certificateurs.

De manière générale, j’aimerais pouvoir fixer la position de certains nœuds par exemple selon des coordonnées géographiques, mais ça demande d’adapter un peu l’algo de layout.

Tu peux regarder le code, ça tient en vingt lignes et c’est assez lisible comme langage.

2 J'aimes