[Duniter network] overview

Il est beaucoup plus probable que l’API proposée soit disponible plus longtemps que le format de données actuels, et surtout que ton outils sera disponible pour toutes les implémentations du logiciel Duniter, peu importe son format de stockage.

De nouvelles API verront le jour pour répondre aux nouveaux besoins, et elles seront communes aux différentes implémentations. Si tu as des besoins qui les API existantes ne répondent pas, d’hésite pas à ouvrir un ticket et d’engager une discussion.

C’est ton point de vue et je te remercie.
Pour moi, l’API ajoute une couche supplémentaire entre l’information utilise et mon programme, donc l’ajout potentiel de bogues (à la française! :wink:) et de comportements étranges (ce qui est déjà le cas, d’ailleurs je dois faire un rapport de bogue).

De mon point de vue, les avantages de faire directement des requêtes sur la base sont:

  • J’apprends comment utiliser SQLlite (je connais MyQSL, cela me permet de connaitre maintenant SQLite3 et ces particularités).
  • J’ai tous les champs disponibles. En passant par l’API, si un jour j’ai besoin d’une information que l’API ne propose pas, je serai obligé de passer par une tierce personne et être dépendant de celle-ci
  • J’ai une meilleurs compréhensions de comment fonctionne les tables, la piscine, etc…
  • Mes premiers essais montrent une meilleure “robustesse” à recuperer les informations de la BDD. Pas de comportements étranges constatés, non reproductible pour l’instant
  • Cela semble être plus rapide sur Raspberry (à quantifier)

D’ailleurs, je ne suis pas sur qu’ @elois passe uniquement par l’API pour son Currency-monit, ni @gerard94 pour son WotWizard, …

Ou tu peux proposer des ajouts via un fork/pull-request.

L’API actuelle est loin d’être parfaite, et j’ai vu passer un nouveau projet d’API robuste à venir.

En effet, mais ça ne t’empêche pas de faire quelque chose de plus “durable” de ton côté. J’ai discuté avec @elois aux RML10 de la possibilité de stocker les informations dans un format personnalisé, et il ne me semblait pas contre. Pas de changement prévu pour le stockage dans l’implémentation actuelle de Duniter (duniter-ts), mais ce n’est pas certain pour duniter-rs :wink:

Exact. J’attaque directement la bdd. En fait, pour l’instant, c’est le seul chemin possible pour moi. Je ne me suis donc pas posé la question.

1 Like

Il s’agit d’un module de duniter, il accède donc directement aux données en mémoire vive du cœur de duniter, je n’accède donc pas a la bdd directement mais j’utilise la couche d’abstraction DAL que cgeek a développer. Ce qui est quand même plus propre.
On pourrait même envisager une couche d’abstraction commune entre les différentes implémentations de duniter pour que les modules soient compatibles entre implémentations, qu’en pense tu @nanocryk ?

Pour un programme tierce je confirme qu’il est préférable de passer par une API. Surtout que la 1ère API 100% Client aura vocation a être rétro-compatible avec elle-même pour at vitam eternam :slight_smile:

Elle pourrait même assurer une rétro compatibilité avec certaines url de BMA, seulement les url de lecture par exemple :wink:

Cela ne me dérangerai pas d’utiliser l’API si la vitesse d’exécution, entre autre, de cette dernière serait aussi rapide que la requête directement sur la base de donnée…

Complètement. Elle est nécessaire pour assurer des développements de modules language-agnostic. Je pense directement à l’API “réseau” permissionnée dont nous avions discutés, mais une API native serait aussi intéressante. L’API réseau pourrait être un simple binding de l’API native.

2 Likes

Si les développements actuels de @nanocryk pour faire évoluer le protocole Duniter vers un format binaire (voir la DIP0001 et DIP0002 pour le moment) se concrétisent, alors il y aura un intérêt fort pour se passer du stockage SQL actuel.

Ce n’est peut-être pas pour dans 3 mois, mais il y a fort à parier que ce soit dans moins d’un an. Le passage à un format binaire étant franchement souhaitable pour des raisons de performances CPU, de stockage mais aussi pour les nouveautés apportées simultanément (je pense à la levée d’ambiguïté concernant les verrous de transactions).

Cela dit, vous pouvez vous-mêmes développer votre propre couche abstraite d’accès aux données, et modifier celle-ci le moment venu pour attaquer le nouveau format de la BDD quand SQLite sera abandonné, si c’est le cas. Ce qui vous évite d’avoir à passer par une API HTTP.

La différence, c’est qui développe la couche d’accès aux données. Vous, ou les développeurs du cœur. Il n’y a pas de bonne réponse :slight_smile:

5 Likes

Un p’tit dernier! :wink:

output

Quand le bleu s’attarde sur un nœud, c’est que mon nœud perd la synchro…

7 Likes

A propos de l’API, au bout de combien de temps un nœud est considéré comme hors ligne?

Dès qu’il ne répond plus sur l’API BMA. Or comme cette API tend à disparaître, le status “hors-ligne” d’un nœud n’est plus vraiment connu.

Par contre en te basant sur les trames HEAD (/webmin/network/ws2p/heads), tu as une vue du réseau :

[
  {
    "message": "WS2P:HEAD:1:2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:a0a45ed2:duniter:1.6.14:1",
    "sig": "QJjF6kgBkSsaeLrpMrhbFAP3dY0tM4ey/lXyOuXb1S7OJITfsGz6E4kDxPQC4Ok2ESirg/NJzeLyLRONa4xbAA==",
    "uid": "cgeek"
  },
  {
    "message": "WS2P:HEAD:1:FJG7A9pHPGqhyK82Pd3BdN89riQ7dxFrejVhKAtHS4VG:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:4ca77df0:duniter:1.6.14:1",
    "sig": "zJZlUeja6HdRAJZ7ZZ4C0plN9pZ+drQ2W69PoyO674yMVRPa7RWyMyiBr2dBlNqUHBOzv9oFIef9SBONNvl4Bg==",
    "uid": "regisg"
  },
  {
    "message": "WS2P:HEAD:1:D3krfq6J9AmfpKnS3gQVYoy7NzGCc61vokteTS8LJ4YH:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:5e180dd8:duniter:1.6.10:1",
    "sig": "Uv2Mzq+CNUiyjhCPuhuAM7grRpkv99nkPKYfk1e0vvVBUWqcao6HavG7ZoeieYlP0Yaf2kAjBvrRkUc0/f+RAg==",
    "uid": "ji_emme"
  },
  {
    "message": "WS2P:HEAD:1:7G2mS5aCoT4jCL5WfLKQsXfMJaV9d3jVGUGnwq6Tg36J:74578-0000023A9F31A45571EBA1D58A6077264E3897E122AAEA7BAB050704150B8094:2678e1a2:duniter:1.6.14:2",
    "sig": "mDuQLGftgKfOjLS3rPyWd9O+Xp6aUSEDzNX1o/aHgx5MwL15KZmK4eSyUR8ZVuSYmy5rLkSHNdn7ZOiBkLr0Ag==",
    "uid": "sjouin"
  },
  {
    "message": "WS2P:HEAD:1:Do99s6wQR2JLfhirPdpAERSjNbmjjECzGxHNJMiNKT3P:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:e377b616:duniter:1.6.10:1",
    "sig": "aYYzYotAYvdRoA7JTLX29wmDR+UgD9Vfzg/3drfYJf9SzWMlZ4aPgyQ7+Xy5+Vq1SR/3ynPkLv5gvE2jH5DYAg==",
    "uid": "poka"
  },
  {
    "message": "WS2P:HEAD:1:8g7unwbNM1TtzKcbBNqcqoEFWYtioXzc9aYCsdGX2jno:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:982f8498:duniter:1.6.14:1",
    "sig": "PbCDhOS4O1TzHDDz6XN4atQigjE3jLZDfERhrzi/ap/zRT7XeIgJILg/yF7VDUce+tbdZSzdvl/nYibymM0KAg==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:1:GfKERHnJTYzKhKUma5h1uWhetbA8yHKymhVH2raf2aCP:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:de68fced:duniter:1.6.14:78",
    "sig": "0QaAKPzSG6rOKr3LC9WoWrOt0hD/RVyIqwhRkMwwbRih/gNy+JhU4BoHwDj3fpQlFuPK9/Zuw22U1TxBLYXAAA==",
    "uid": "moul"
  },
  {
    "message": "WS2P:HEAD:1:Bc3qC3yT9quna1CH9d8UvZrMacmZCLoBP33pp6U4Kpbx:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:85c6dc29:duniter:1.6.14:1",
    "sig": "L0ulcqNR63iZ6T46oXirbkRequ63Zgb4hbDVHr5TLIerOgvDn880DDVxlvQNR1c1bO/PbWk0RBvkdgpycbzFBw==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:1:7v2J4badvfWQ6qwRdCwhhJfAsmKwoxRUNpJHiJHj7zef:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:b48824f0:duniter:1.6.14:318",
    "sig": "O+JEri+bmuyCOr/N1IaX3z0GE8XpMrxHzsgNblWX/v0UVtNQ8WYYRtNt3XgpBRctYTvHRZ3rIh3FGVG8eYvNCQ==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:1:HbTqJ1Ts3RhJ8Rx4XkNyh1oSKmoZL1kY5U7t9mKTSjAB:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:1152e46e:duniter:1.6.14:1",
    "sig": "9/NxvT7aw3Bj7WVzyACaTqgkKfkwBRGXQ7HmMtTDBTm+rrlyrJPXKuexnqWDb1Nzno+fF5VBiRNx6AqsIpW1AQ==",
    "uid": "nanocryk"
  },
  {
    "message": "WS2P:HEAD:1:256ti47gyFueKEHEZWC5VuyEwQVJdh2co5WKHsdQaRax:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:cdf499d1:duniter:1.6.14:1",
    "sig": "iKooz5nhPScF1eSHXW6Zwb9e/DVvVZW/0zN9bjtPHsJtA8bJqsMdJd8nPU2foJNg3B7bZTjwlPl9kvmJY5ESDA==",
    "uid": ""
  },
  {
    "message": "WS2POTMIC:HEAD:1:BoZP6aqtErHjiKLosLrQxBafi4ATciyDZQ6XRQkNefqG:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:15af24db:duniter:1.6.14:1",
    "sig": "iu3TB5ruYyWy9snlni/yx0ESNj3eq4OY8B9XmDqr1epV98g+iz8QiZa8OatIdbtE2+KeL2aGIeJ326mcbu1qBg==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:1:H7VemVkJ7QetdvJP7eub6cS5w7Kn8wDPttRo8BwTrAxM:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:29b5c738:duniter:1.6.11:1",
    "sig": "QSC8cppCYT37X1jJiNZLQOx/NsdJCrwyc9iQl0SghhcDWT+sraWWzUxkVwO091hQRZDcsV5b5Vu8Gihy4jh/Cw==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:1:38MEAZN68Pz1DTvT3tqgxx4yQP6snJCQhPqEFxbDk4aE:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:fb17fcd4:duniter:1.6.14:1",
    "sig": "6qDnpYQO93+p55TyHMb/aZKFLg7P6kF6xldjgLR7zlrnj7TqPi0RJrf0JWMKM5omXVE7BAnVBwJCWn4uVlhFCQ==",
    "uid": "BenoitLavenier"
  },
  {
    "message": "WS2P:HEAD:1:98wvdsHGnnNDczKMp6FM9KUuPRBTwn77PN4x6EC6i9KN:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:9f39cd08:duniter:1.6.14:1",
    "sig": "6MipRUJ+/DIEb1ndeJ6V8U9GCkS2hXEu1yDi1kUimp8KX0Ch/OWa4J6tVt+amznFRgXwtGM57PGX8GBQUsgqDA==",
    "uid": "MarcelDoppagne"
  },
  {
    "message": "WS2P:HEAD:1:4fHMTFBMo5sTQEc5p1CNWz28S4mnnqdUBmECq1zt4n2m:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:afaa79d8:duniter:1.6.14:1",
    "sig": "AbdOQSaYK70+nImNvV/cv8EVon85jDnKUXB+wSu+q+D4A14xJWUYyFGYaJr3EXEFWzjLyA0vK99WtYDAxlAxAw==",
    "uid": "pafzedog"
  },
  {
    "message": "WS2P:HEAD:1:HmH5beJqKGMeotcQUrSW7Wo5tKvAksHmfYXfiSQ9EbWz:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:c71607fb:duniter:1.6.14:1",
    "sig": "rbhZLB1+WpUWxscaf4vLpaNOaUMoqqVAAG2XKpsjk/AMvoHevE5zobHnd4+08lNqO14pm39S6L2R/5WqHp20AQ==",
    "uid": ""
  },
  {
    "message": "WS2POTMIT:HEAD:1:D9D2zaJoWYWveii1JRYLVK3J4Z7ZH3QczoKrnQeiM6mx:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:1be86653:duniter:1.6.14:1",
    "sig": "11nNc0d07VMBbVrZx3rigsQxd18nRcaYwOArrd1yHkKTTjH+itNdQg5HyLYpAYNnOY0w+3050azb2hgaf6vLBQ==",
    "uid": "elois"
  },
  {
    "message": "WS2POTSIT:HEAD:1:D9D2zaJoWYWveii1JRYLVK3J4Z7ZH3QczoKrnQeiM6mx:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:53844c91:duniter:1.6.14:2",
    "sig": "mCmo8iwddKoUCwRrBZU9Grn2yHg6MV/+nT5V5DK9p0wGO3iO1YK5f8ThhgKe18VDVdSdXviOgNEqmOBHmgplBg==",
    "uid": "elois"
  },
  {
    "message": "WS2P:HEAD:1:4e5X6GGusfGw6BhFrmdRG2Bx7mLgWUiZzBo1AUWno7zT:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:afb71382:duniter:1.6.14:1",
    "sig": "VBTu0+OFxZV4hdKvkK8LRE1F2fibVhlHIwhWdtpN0avXubw5lHZGtuwXe6JZPxOzZ4LxTKuq9awQo6r2ckRjAA==",
    "uid": "floppy"
  },
  {
    "message": "WS2P:HEAD:1:3wdDzBz18mWupx1UChMnhky2Nut3XVnyn9U7Y662J7yE:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:69b37d9c:duniter:1.6.11:1",
    "sig": "bRVdJTp1RWui3lVwggpWRLdsjIYnUYbfyczWJzZ/ui+wJYVfwUEAaPJgHyVZpphouEYIUABuAqtNQf0clBZIAg==",
    "uid": "smyds"
  },
  {
    "message": "WS2P:HEAD:1:6fFt4zdvtNyVcfJn7Y41mKLmMDizyK3nVeNW3qdDXzpc:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:0cc3e527:duniter:1.6.10:1",
    "sig": "W7UP/2+M0+iue43100fuH/L0KosA6kbUnUJL5sSKEKQNNjeZurYxUinxADR0NlEi0XSjv1AXBXZiXn8trS2BDw==",
    "uid": "MAximeGhesquiere"
  },
  {
    "message": "WS2POTMIC:HEAD:1:D9D2zaJoWYWveii1JRYLVK3J4Z7ZH3QczoKrnQeiM6mx:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:c1c39a0a:duniter:1.6.14:3",
    "sig": "sNd3e4NHwDD11lCJeXo0uh75byQiClyswUzsNj2RYHF/sPCdJRc4RjewQ88nFez9iKxEvZTSu0aGbjZkJSuwDw==",
    "uid": "elois"
  },
  {
    "message": "WS2P:HEAD:1:LFoG1wupku6PnkY42CBNvR8kx5f9nCCTt87A18pjEDr:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:67140a81:duniter:1.6.14:2",
    "sig": "4/9jytxtUh10ACIRCcImhdrcJebINyEO+2OwRgcmGQnOXeHOGopMR2ex9miubzvo4WMM+1JcivvnJ8VngYkeDA==",
    "uid": "LeoBoudet"
  },
  {
    "message": "WS2P:HEAD:1:5jfUpXPWAiBXNVG49tjQYA7R3VFX2oG2aPiskR5PE8Mc:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:1e34eabc:duniter:1.6.14:3",
    "sig": "9MkfRI9hPa9KO4zGzJ4jEp6saVN34Ei8UQVI5VIGB3u++EDulzytcJO87ppD1xonZ/eCZNIfdLKCALA8Xk2CCg==",
    "uid": "DamageCo"
  },
  {
    "message": "WS2P:HEAD:1:3AF7bhGQRt6ymcBZgZTBMoDsEtSwruSarjNG8kDnaueX:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:63bbc4d7:duniter:1.6.10:1",
    "sig": "Je9ZSgrBa5VNwrqfG4+aO2JYf2hf2k+NI3ZNYQSmnJD8dyn6jesW9myRew9gqxIXPHW5s7AJPMboAdVLXvgbDg==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:1:CRBxCJrTA6tmHsgt9cQh9SHcCc8w8q95YTp38CPHx2Uk:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:57a752de:duniter:1.6.14:1",
    "sig": "57zI7f/4LDbqYLLLz4J4xPWz0RbQOejoPGVZqCyIjUQbcF0B7xkH0ITANztcyLqOrqmA63/RIXyiQEBc8WddDg==",
    "uid": "gerard94"
  },
  {
    "message": "WS2P:HEAD:1:2sZF6j2PkxBDNAqUde7Dgo5x3crkerZpQ4rBqqJGn8QT:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:90e9b123:duniter:1.6.13:1",
    "sig": "DAuh7WOQrCG5DeNgo2ubxRlOzo1LKb2B1VqaHl4trq8vibkqu3JeRUgnczbHPp+fMZb7ao1JGrCr552BFOSLAA==",
    "uid": "1000i100"
  },
  {
    "message": "WS2P:HEAD:1:G2RE9nUMPdbEC2gtNKE2yUehTzvUzGRHQik3eezqVkx7:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:9bb687b1:duniter:1.6.10:1",
    "sig": "opD1yT9cEONriuz+rRmg0DCJVBEkRp6dsOeiUD5TL40S8Jgjv4+RyX9ZaRUMhGjLlcGoGqQfsEguSs5VLLDxAQ==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:1:9UCGiboriR5rDuszGWYBKo4NgnydPrwHxQWNqeoxmsyY:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:956f29d6:duniter:1.6.11:1",
    "sig": "QilLyNFv+jfEEiBTYEvzv3qSZyLJhxhF7wEWbmSC+I5nZqkD+89qcJlBPzRh/6J2mHFoVzajiOQzc19Jb/WbCg==",
    "uid": "Obrow"
  },
  {
    "message": "WS2P:HEAD:1:Hb2TLnB6d3dKiC1VibaUJbZtLhyuHYaDxXNvVd7NqXJe:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:7105a7b7:duniter:1.6.10:1",
    "sig": "W70pZEljl2D7BlHi+nP8OqYQjUQ/iwaxsIjEK4ARyQ1ORTejm018zGQgfgFEJPZBCoJrvbihQlaHIt64MuQlDQ==",
    "uid": "SimonLefort"
  },
  {
    "message": "WS2P:HEAD:1:5jfUpXPWAiBXNVG49tjQYA7R3VFX2oG2aPiskR5PE8Mc:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:813abae6:duniter:1.6.13:2",
    "sig": "1mOXssbtdkhwg+Nfs6oEUyO6Fl2MJFErWrNmPjdIiMV91FVnNWwqrb9id95wS7iHRpjLor3zeVzKWMunaTv8Dw==",
    "uid": "DamageCo"
  },
  {
    "message": "WS2POTAIT:HEAD:1:D9D2zaJoWYWveii1JRYLVK3J4Z7ZH3QczoKrnQeiM6mx:73921-0000031D76DE665BCBFD690B96788598A89A50DD09CE9E1A9D0ADE10A274B0BC:d0a2cfcc:duniter:1.6.14:4",
    "sig": "/0Y57HmZKDjYnvqCDjhgW5kCaJqjAiNk08ahTpFQstxBlpX0zDepG9xQliT/X75kXOSr2ws+gOrYZVR42+ojDw==",
    "uid": "elois"
  },
  {
    "message": "WS2P:HEAD:1:FEkbc4BfJukSWnCU6Hed6dgwwTuPFTVdgz5LpL4iHr9J:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:6d13d770:duniter:1.6.14:1",
    "sig": "CXiFBYZSGfNMvxqNc9POptg78AYSCo6XimExed8h2nVtHYch5HPbKPWQQYxCaaQIWsYJ+ir6A9J5ayGDLh+TAA==",
    "uid": "jytou"
  },
  {
    "message": "WS2P:HEAD:1:32jZNQLKYfW9KtCHiaSewR27ZRb6zoncC6JvBVCBW4k1:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:0f90c46b:duniter:1.6.14:1",
    "sig": "VOvacOhlmgLPl4K5QRNnxivKehQH1rRrWcWuQFXpZ2w3HpBWPuUq1Yxh7PrTVNTJFWIcD71SJ2Usg2RrNRhnCQ==",
    "uid": "fdrubigny"
  },
  {
    "message": "WS2P:HEAD:1:9XEQzzSHaXauPQeTi8kjcU6V4JTKSpgBLuvnyGjxPZRu:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:a771dc84:duniter:1.6.9:1",
    "sig": "zsZKP1X5lCl3BitheGmGcgjmnmcT1A3/zZVsc+k2SYBtn5xC+VQq4km/1DoLLJD7/kxx6niMHs/y8RD1l0xWBA==",
    "uid": "NordineVallas"
  },
  {
    "message": "WS2P:HEAD:1:Be1eVp7etVfA7cT6er6dcJ9d5KxGJVY2tzCGGCAz3yG:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:913b6721:duniter:1.6.14:2",
    "sig": "46WfHgc0lkc2IpfvzEIzHyje5K71/K8udV7iX3kP2Ttl9OeTFw3kKSbnDVGSP16iTsTFXazjBLrvsFat1ZS5AQ==",
    "uid": "nay4"
  },
  {
    "message": "WS2P:HEAD:1:48SLtTLL3CxAXUcmbKwp2PUg1hUvEh2s5EwEpRh8RaoR:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:0ee9099e:duniter:1.6.14:1",
    "sig": "wPGHrarBbvG06ynm2a2UlE04iPf34icytIPV7DsApR2gTE2qAURmlpVoWkGoQJrKwM8P7jUEItrtDdYsq/klAA==",
    "uid": "AlanSchmitt"
  },
  {
    "message": "WS2P:HEAD:1:5dzkzedBWdeqTFCaD7AkKPMPusfRUL1XyFNJWWGYQ9f1:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:2ba88688:duniter:1.6.14:1",
    "sig": "O1i3apWlTkX74EGuEQ3PwZZVnB1526p2C31ed4JGXJShS70sJyxURlx6W8/gmkNSGinkxu9dSucK+ZQ+1TaxDw==",
    "uid": "vincentux"
  },
  {
    "message": "WS2P:HEAD:1:4FgeWzpWDQ2Vp38wJa2PfShLLKXyFGRLwAHA44koEhQj:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:25677816:duniter:1.6.14:1",
    "sig": "ssALXfIqvg3WSyK2zR3MmfFXqmd2l8HSFB1XLiF+f1daM4rcP6ZL2q07Gtnf/ELbbiweXpsGZtFRe4SKpBeNCg==",
    "uid": "paidge"
  },
  {
    "message": "WS2P:HEAD:1:Be1eVp7etVfA7cT6er6dcJ9d5KxGJVY2tzCGGCAz3yG:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:e436bb0d:duniter:1.6.14:1",
    "sig": "sSjwWljP3wSPVdhGSWfhnpDeB/WSYRKJGahmT6erPnn5XUdB2yBatgHx2KT4jAfXgCqPeEEjvDG02Z8G9UEjAQ==",
    "uid": "nay4"
  },
  {
    "message": "WS2P:HEAD:1:LFoG1wupku6PnkY42CBNvR8kx5f9nCCTt87A18pjEDr:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:57bceb6a:duniter:1.6.14:1",
    "sig": "IBNQZ2v+UuhBupYl0Q+VSFI//iEGadgQsrV2XIilFA7lj7sPLgNNx5RFkSthn7rkIycNDKZ65jrXFK7MNPLHDA==",
    "uid": "LeoBoudet"
  },
  {
    "message": "WS2P:HEAD:1:GfKERHnJTYzKhKUma5h1uWhetbA8yHKymhVH2raf2aCP:74098-000001BE2845EBE4DE86181B5671215B70E600E81C7B3C32912A58E88DBF110F:5bdbd78d:duniter:1.6.14:33",
    "sig": "a7tpm7M+H4nuWOa/UTKgY/DQjtab2o7lr9bgRAqf4I3jiRQqsFd3PxxLfJClmjkktlYwxyfrxRhtFXfdJ1a3Aw==",
    "uid": "moul"
  },
  {
    "message": "WS2P:HEAD:1:74fndcyWSkrS9i9kMjJbn6JF5aK7tLZjDvKux6Y9s3wc:74126-000002A6C2984A5BC8DEB38ABE0FC2A7DD037107C2886BD479EB57261F80B56A:043ed66a:duniter:1.6.14:4",
    "sig": "FpnnOqsd1r5+zbtKnFfJ45IODfBpbrMXcoas0CndCwgxmvf0isJCCxn0pmw8kENNc25rFgXhhPiTeuyx4s27Dg==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:1:GfKERHnJTYzKhKUma5h1uWhetbA8yHKymhVH2raf2aCP:74128-00000436B14C9C1FDD668A052D52ECA957A630E9772B85DBFEFB1CEBB0BEB150:478ca78d:duniter:1.6.14:24",
    "sig": "m7L2v/SjqhjdWOLKKRrIfz3bqUxhoyDzsE15f7LgSMouc4Iishwvf2GOLwPnrZn55DeCi8KZAU0CQnfWNoW4Dg==",
    "uid": "moul"
  },
  {
    "message": "WS2P:HEAD:1:4f7QLtNBKJU4PkfK7KsehnEJLhmXSZPtXCHwoC5REmm7:74178-00000023C3F875EBD2F58350CD4B80AE041AE6F1AB2D6F4198FD2FD0E699758E:65f71152:duniter:1.6.14:1",
    "sig": "ZHdrLU3EPxXXYmzjWxtZx47ogMMoM9RDa2dBob3QkXMw74SIHLJq//ZzqgzutCAPeJoLaI66G5vj2SMDbAvyCA==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:1:7AQzQb475tEzCkSLKD4HffeQbckizJWFvubhYA2rfwgt:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:451a34fb:duniter:1.6.14:1",
    "sig": "gDUMAHIQcjzqwv/gRJDwuZXc/na14HayEZqmue6+IPOTrwcrPwKh1Pvt2ux++GqJd5aNOvJffUMYxR27PNf1Dw==",
    "uid": "Maxoud"
  },
  {
    "message": "WS2P:HEAD:1:3M3oAHacBmBRMEqwWtVbD7hAmoZuecowYJj6tCz7EqYt:74335-000000305123646B0199BD6E42463A3D797661D03ED2021CB749B51249296F5B:844a5434:duniter:1.6.14:1",
    "sig": "f+9t33XynsteGX+CdpVPDng/UynkDGv4Vt1jL3mVLz0je86zLRFd3nA+DO8TqbZUYaSMTL3bc3sQrz32ktd4AA==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:1:F39iwZWZiLHAcsJZaRwZNv2TaS9PdUBNiroLAuZDVdeh:74419-00000451DCD499EF972AB0BD4DCE8CF93CD4D5CE4DF375ECD7F2DFBA34920681:058783d2:duniter:1.6.14:4",
    "sig": "HwS/frvBQCOwe5AVgpCbGOUWgX27RtcwWGg16avBVZ3LQeuBsk0H4v+ZhOMn913OmMfu9+8sRAdQOvk12Qm+Ag==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:1:4L6ki7UGnbsj3y1ydsGTyzuzmKgSi7pcZhMaUYeZQn1t:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:31a08e55:duniter:1.6.14:1",
    "sig": "DXgtSiY+1dXbYHjutFvBCG603Fq1LAI+DnJVeX6MGWf4/qbi8vfar3nXQEp+VEBlJwxfP06MKoTHgua+cfYABg==",
    "uid": "VincentRousseau"
  },
  {
    "message": "WS2P:HEAD:1:ALeZpAwL4WURx7576StYozZTQ59rC5h65Y5LGDzun2nb:74592-000004DB5E47FD014BE4F2EA20FC84AC4316B2A843BCF1C8A5363CF620EA5F84:058783d2:duniter:1.6.14:4",
    "sig": "1qwHkhODuhZoo8rH3TeykOHTGAQwoKLvHS/4jfwmGVmqMg2t1ugar92NC+Ruu4Jgfd7ObF3nr56y0NTJFUdYBQ==",
    "uid": ""
  }
]

Tu peux notamment dégager un consensus, détecter des nœuds sur fork (consensus secondaires), et les autres nœuds qui ne sont sur aucun consensus.

À toi de mettre cela en forme ensuite, comme tu le fais actuellement :slight_smile:

Merci.
Sauf que cela complique les choses. Je ne voulais pas passer par une base de données!
Je vois que la table peer de la BDD n’'est plus mise à jour non plus…
Je vais donc demander cette demande dans la nouvelle API…
C’est dommage que l’on perde des informations de l’API actuelle avant que la nouvelle API soit disponible.

Ceci ne me donne pas le statut du nœud s’il est UP ou DOWN. En effet, dans la liste ws2p il y a mon noeud qui est DOWN (et je ne vois pas comment le détecter qu’il est DOWN par l’API actuelle):

{
“message”: “WS2P:HEAD:1:F39iwZWZiLHAcsJZaRwZNv2TaS9PdUBNiroLAuZDVdeh:74419-00000451DCD499EF972AB0BD4DCE8CF93CD4D5CE4DF375ECD7F2DFBA34920681:058783d2:duniter:1.6.14:4”,
“sig”: “HwS/frvBQCOwe5AVgpCbGOUWgX27RtcwWGg16avBVZ3LQeuBsk0H4v+ZhOMn913OmMfu9+8sRAdQOvk12Qm+Ag==”,
“uid”: “”
},

Edit: ceci explique sans doute les erreurs dans le log indiquant que Duniter n’arrive pas à ce connecter à un autre nœud, ce qui fait perdre du temps car il doit attendre le timeout. L’information de connaitre si un nœud est UP ou DOWN est donc une information importante, à mon avis. Ceci pour des questions d’optimisation.

Je suis curieux de savoir par quoi tu passes aujourd’hui.

Je récupère les informations via l’API (pour l’instant :slight_smile: ) que je met dans un tableau en mémoire (tableau php).

Mais où as-tu compris que tu devrais lire une base de données ?

Je pense que l’on ne se comprend pas…

Pour faire la matrice du réseau j’utilise l’API pour l’instant. J’arrive à faire le traitement des données sans passer par une base de donnée mais j’arrive à une limite de vitesse et exclusion de code. Si je dois ajouter une autre requête via l’API, le traitement serait trop long et je devrais créer une base de donnée pour gérer la vue du réseau.

J’ai l’intention de lire directement dans la BDD afin de recuperer des informations que l’API ne donne pas aujourd’hui.

Pourquoi ne pas plutôt directement enrichir l’API ? Ce serait peut-être plus conforme au développement d’un code utile et cohérent avec la philosophie de l’API justement ? Facilement réutilisable pour tous…

1 Like

C’est quoi le format de head WS2POTMIC ?
j’ai du louper un truc…

C’est ça : WS2P : send details about the WS2P type in head message (#1177) · Issues · nodes / typescript / duniter · GitLab

1 Like