DuniterPy, évolution de la bibliothèque python

silkaj
sakia
python
duniterpy

#21

Justement, je suis en train de me former à Python pour développer une nouvelle version de la wotmap. La bibliothèque Python igraph va me permettre d’interroger un noeud duniter local pour en extraire les membres et les certifications pour ensuite calculer les stats de la wot (position des noeuds en fonction de différents layouts, centralités, communautés, etc.). Ce que je fais actuellement en PHP mais sans les calculs qui sont actuellement effectués par le navigateur. Là, tout se fera côté serveur et SigmaJS affichera la wot directement, sans attendre. Je sais que @tuxmain aussi maîtrise Python. J’espère que je pourrai compter sur un peu d’aide si j’en aurai besoin :wink: Du coup, je me demande si ça pourrait pas s’intégrer dans ta bibliothèque ? Bravo pour ce que tu as fait @vtexier !


#22

Merci !

Duniterpy va te permettre de récupérer les infos de duniter, puis tu utiliseras igraph pour construire un graph avec.
Pour que Duniterpy reste une bibliothèque légère, je n’envisage pas d’inclure de la construction de graph dedans.

Il vaut mieux respecter le principe de séparation des responsabilités :wink:


#23

Bon, j’ai besoin d’éclaircissements pour l’intégration de la partie authentification/cryptographie de DuniterPy dans Silkaj.
En gros, il y a trois types d’authentifications dans Silkaj : scrypt (salt, password), seed (stockés dans les authfile) et (E)WIF.
J’ai réussi l’intégration Scrypt. Par contre, je n’arrive pas avec la chaîne de caractère stockée dans le fichier authfile.
Il s’agit d’une clé modifiée en hexadécimal dont je n’arrive pas à transformer dans la version originale pour que ça soit accepté par DuniterPy.

Je rentre pas trop dans le détail ici, mais on peut en discuter de manière plus approfondie.
Pour références les fichiers silkaj : auth.py et crypto_tools.


#24

Dans les exemples, pour faire vite, j’utilise la fonction native de la libnacl SigningKey.save().
Ça me sauve un “truc” dans un fichier, mais j’ai oublié l’exemple de chargement de ce fichier.

Je vais retravailler ça et te tenir au courant.

Pour le format WIF, c’est dans les issues, à faire…


#25

Ok, merci du tip, j’ai réussi à sauvegarder un fichier, à le lire avec libnacl.utils.load_key(), puis à utiliser son contenu avec succès.


#26

Nouvelle version de Duniterpy 0.52.0

Changelog

  • Refactor documents Identity and Revocation in their own module - Break BC !
  • Add PubSec, Seedhex, WIF and EWIF file authentication (import/export) - Break BC !
  • Simpler certification example.
  • Simpler transaction example.

Merci à @moul pour sa contribution au code !

Documentation html temporairement sur mon site :

http://vit.free.fr/duniterpy/