Aide pour mapping des ports docker Duniter V2S

Super d’avoir construit cette image ! La compilation s’est bien passée ? Je trouve qu’elle est encore assez inconfortable à cause :

  • du téléchargement d’une grande quantité de données (certains dépôts en dépendance sont encore trop lourds)
  • d’une mauvaise gestion du cache (si on recompile, on repart essentiellement de zéro)
  • d’un temps de compilation assez long (on pourrait travailler à le réduire je pense)
  • de la taille des fichiers intermédiaires (plusieurs dizaines de Go)

Mais je suis content de voir que ça marche (quasiment) sans encombre ^^

note au sujet du démon ipfs

Tu peux aussi avoir un service systemd (cf doc pour exemple).

Il est intégré dans le paquet arch, de telle sorte que je peux faire systemctl start ipfs@hugo, c’est peut-être le cas également dans le paquet debian ?


Je ne sais pas précisément comment fonctionne la partie réseau p2p, mais il me semble qu’il y a un système de score et que des modifications peuvent mettre un peu de temps à être prises en compte, surtout si une ancienne “public address” déclarée était injoignable.

Il me semble que le plus important ici est d’avoir compris la couche de configuration et qu’elle fonctionne, on pourra s’attaquer plus tard à comprendre comment le réseau s’adapte à des modifications. Si cependant tu veux tester, tu peux changer de peer id en supprimant le fichier node.key, ce qui force duniter à en re-générer une au démarrage. Ça devrait changer quelque chose, mais c’est pas évident à tester.

1 Like

Il n’y a eu aucun soucis non, à part ce que tu mentionne: temps de build, quantité de données nécessaires au build, … (heureusement que j’avais encore de la place sur la VM Oracle)

Juste un détail, j’ai du trouver par moi-même la bonne commande pour créer une image docker (pour l’architecture actuelle) pour ce repo; les documentations existantes pointent plus vers la création de packages, …

Mais en temps normal, il ne devrait pas être nécessaire de faire une image docker sois même si on arrive à corriger la création des images ARM automatiques :slight_smile:

1 Like

J’ai testé de changer le peer id pour le v2mirror; ça n’a pas d’incidence sur le nombre de peers.

J’ai également un v2validator qui toune depuis quelques jours et qui lui est toujours avec l’image docker officiele ARM (0.8.0) - pareil 11 peers (et il n’est mappé que via ProxyHost NGinx en https)

image

Du coup, je me demande si les différences pourraient être dues au fait que les autres noeuds duniter aient une référence vers notre noeud dans les bootnodes ou pas ?

Si oui, on pourrait le tester; mais il faut faire attention à ne pas perdre son “peer id” du coup si je comprend bien ?

Tiens, le format du fichier node.key à changé entre 0.8.0 et 0.8.1 ?
La moitié de la taille et en binaire plutôt que ascii

duniter@52b8e4ea24ca:~$ pwd
/var/lib/duniter
duniter@52b8e4ea24ca:~$ ls -la
total 44
drwxr-xr-x 3 duniter duniter 4096 Nov 18 12:28 .
drwxr-xr-x 1 root    root    4096 Nov 16 12:12 ..
-rw------- 1 duniter duniter  161 Nov 18 15:28 .bash_history
-rw-r--r-- 1 duniter duniter  220 Sep 20 19:30 .bash_logout
-rw-r--r-- 1 duniter duniter 3526 Sep 20 19:30 .bashrc
-rw-r--r-- 1 duniter duniter  807 Sep 20 19:30 .profile
drwxr-xr-x 3 duniter duniter 4096 Nov 14 09:08 chains
-rw-r--r-- 1 root    root     194 Sep 20 19:22 dynenv
-rw------- 1 duniter duniter   32 Nov 18 12:28 node.key
-rw-r--r-- 1 duniter duniter   64 Nov 18 12:27 node.key.20241114-18.old
duniter@52b8e4ea24ca:~$ cat node.key.20241114-18.old | sed '$a\'
08fdede3f0602ca7cefb35c04596cc45cde8f78c7e7af1836fd67f72ea4b6894
duniter@52b8e4ea24ca:~$ cat node.key | sed '$a\'
�Fy9�	�������l������6�̿
duniter@52b8e4ea24ca:~$
1 Like

Je ne pense pas que les bootnodes changent grand chose à la connectivité ensuite. Mais tu peux tester avec l’option --bootnodes en ligne de commande :

$ duniter --help
[...]
--bootnodes <ADDR>...
    Specify a list of bootnodes

Oui, si un bootnode perd sa clé et change de peerId, il faut mettre à jour les bootnodes si on veut pas l’erreur 💔 The bootnode you want to connect to [...] provided a different peer ID than the one you expect .

Peut-être bien, je n’ai pas lu toutes les releases notes des versions de substrate. Et jusque là on n’a pas incrémenté la version du client Duniter (0.8.0), il faudra le faire sérieusement et publier des releases notes dans le futur pour savoir précisément quelle version utilise quoi. Je croyais que c’était simplement un hexadécimal en ascii, mais vu ce que tu as, il semblerait que non !

Je pensais plutôt dans l’autre sens; si par exemple mon noeud est ajouté dans les bootnodes et que l’on met à jour avec le nouveau bootnodes tous les noeud existants, est-ce que j’aurais du coup plus de peers ?

Ou d’un autre point de vue, est-ce que l’on peut vérifier quels nodes sont actuellement dans le bootnodes et est-ce que ce sont seulement ceux-là qui ont plus de 10-11 peers connectés ?

Les noeuds en 0.8.0 n’ont que cgeek dans leur bootnodes, les noeuds en 0.8.1 ont la liste présente ici : node/specs/gdev_client-specs.yaml · network/gdev-800 · nodes / rust / Duniter v2S · GitLab.

Mais normalement, être dans les bootnodes ne devrait pas générer d’asymétrie dans le réseau. Ils sont juste utilisés pour la découverte du réseau de proche en proche, et n’ont ensuite aucun rôle particulier.

Pas sur sur ce soit utile ou pas, mais dans les 10 bootnodes actuels; j’en retrouve 7 dans la telemetry, et ils sont effectivement parmis ceux qui ont le plus de peers:

#Nbpeers;name;peerId;isBootNode
7;duniter-v2-vjrj-squid;12D3KooWK3Z7mERRUFUF3Je6bQ2jLDRG4LBAuXoW6pFae5b2dW4P;false
7;hugo-tmp;12D3KooWSZqpy2t9bJ3QmaywGSNvZWEYch1L6BE8pmNB18Uw4JPt;false
8;1000i100-gdev-mirror-archive;12D3KooW9sx8LY8jaF1GeKJnSm2v6ugKW7imvhAVtoeqWqt8KpZv;false
8;daigongen-hd-gdev-smith;12D3KooWBsKGva2UuHRGwPU9JnKe5iptSf3oxKpm9ygbwBPweLtz;false
8;moul-archive;12D3KooWAwn631JQUYS3FWT5o3kWfa5Jkc4SxDTcaqxbC4hjxnCR;false
8;Sleoconnect-gdev-mirror-1;12D3KooWRs7aYzwbALSv1fg3ovYWuVqF4ASo7uMAoPG26SZgPyAm;false
8;Syoul_Miroir;12D3KooWCUPFqdPKKGiAQdLSmVBqertt2sVXaH3MN4x1EfgvxcVt;false
9;1000i100-gdev-smith;12D3KooWDdAKfPsLadmtDHjRUibSJQae4XjiVi1gTGo9iyNcwRMH;false
9;Bulmananabelle-Debian-OMV-Gdev-Smith_smith;12D3KooWSK1W8AFdzaVtwJFeZeaE8WWeDsPBZ8ZBNczF8EWYTrYf;false
9;duniter-v2s-adn-life_mirror;12D3KooWGJQk6jpSNddvYFyZbfrQhRmKLHxLu39grzoCjaGLzBQX;false
9;moul-smith;12D3KooWGr8Qm3Rp3hMBPguJmnQgCy2rFCpr4DQ5iyT8yra1jNcx;false
9;poka-smith;12D3KooWBD8Mohsjgka49CyQn8ijsDpEs7RoWzc7ac6iPfJUA7ic;false
9;Sleoconnect-gdev-mirror-2;12D3KooWB626k7WnYntGDW7Gp3SYbhc4pH3cE9hssZEmHnNXXyrz;false
10;Rendall-Gdev-Mirror;12D3KooWJeeT8huDVMEKJokJ9ZcVCmDU4CxFsp19XFzFhNEQqAGZ;false
11;Rendall-Gdev-Smith;12D3KooWSTKgZkVJAkaYmmc4PwuVVwJdsjNv8qoFR2w1zWZcAhyE;false
12;poka-archive;12D3KooWGzfuKHDEPzwUomSzJnUZ9fQ38V2RBHwTYR46ZggNwZaA;false
12;Syoul_smith;12D3KooWShiwjFJsBXN74RiQM7qRjnj5AbmzPMtW31kPfTRdfGj8;false
12;v2validator_g1_brussels_ovh;12D3KooWF1NiaHA2u2PKic3Wcqg3vdGhfv9afTBtw37paoWcRgvJ;false
13;ENO-mirror;12D3KooWPZwQBSZtQhM49NJv5AkWSY1MK5soWQgZ2pgSK29tcwCP;false
14;aya-local-default;12D3KooWGucFL4Qw4SFTC5vmMwfZYiArcu5py58jWjcNc8LR1qZf;false
14;Rendall-Jef-Gdev-Mirror;12D3KooWHLtJTUZctMdztWiLwYvgnSSstzHG5UxEDc4V8jgWiEcG;false
15;pini-gdev-mirror;12D3KooWBfuEahrFypghc8niTseEq6ZVYkyXTUjTTcX6kkbFVgYB;true
16;duniter-v2-vjrj-gdev;12D3KooWNAoVZNLLjWT86kDn71MtXUnaNksa7N5oJ4HxkQwm9th3;false
16;v2mirror_g1_brussels_ovh;12D3KooWAbHQi8tnVWSFPLnaiftHnfuYt1VzYwpyNntNxs8z6DMq;false
17;HugoTrentesaux-smith;12D3KooWBUofnBCndckssxLfMgygqioJTGWdfjkmjb8bDtjezWFE;true
18;cgeek-archive;12D3KooWGvtbSM9SXMTAukT9zQo26QWegPcvP7pRhPU4HxK151Sx;false
19;ben-mirror;12D3KooWExRBajovP1kEoq1A9W5wqbEYV71DoZ5n7qC8FPQoU1Tv;false
20;d0p1-abrahel-mirror;12D3KooWEPUp2go9eKQ85jxjCdtWcM6D7ytH2qtXkPzTBN8jcDWT;false
21;pini-gdev-smith;12D3KooWLwrbxC95wP6rTSv8TPy4hxaAYqPqN1KQnBgoza5K94XH;true
25;cgeek-validator;12D3KooWN7QhcPbTZgNMnS7AUZh3ZfnM43VdVKqy4JbAEp5AJh4f;true
25;hugo-coindufeu-archive;12D3KooWHW1JXJNTVLRqtXmu6R7W9ohpRHcJGHNmw6wpVTukNAgZ;false
28;hugo-gyroide-archive;12D3KooWJtce4HiwrYbaV48CZjmb9QtatYmC3ANyVKT1wQRqARzd;true
29;elmau;12D3KooWN5BBZuMraywLWApFVNYg5FUu3fhvy2vDYdSXsGuZ3zu8;true
33;Bulmananabelle-Docker-OMV-Gdev-Mirror;12D3KooWB2de56jzZ7q5Qc4YAB6rUUiAoPxbMcaYAtwXR5j59D2Q;true

Je vois que mon v2mirror est monté à 16 nodes - peut-être que le processus de découverte est fort lent ?

1 Like

En fait c’est plutôt dans l’autre sens que ça s’est passé : j’ai recensé les nœuds “stables” avec une bonne configuration réseau (et donc généralement beaucoup de pairs) et je les ai ajoutés aux bootnodes. Pour les autres nœuds, je n’ai pas pu récupérer d’adresse publique fonctionnelle, donc ils ont moins de pairs car uniquement les connexions sortantes. Et comme ils ne sont pas joignables, je ne les ai pas ajoutés aux bootnodes. Bien entendu, il peuvent toujours ouvrir des connexions vers les nouveaux nœuds qui arrivent avec une bonne configuration réseau.

Et oui, les modifications de topologie du réseau sont lentes. Il se peut que le réseau attende de voir un nœud en ligne pendant suffisamment longtemps pour faire monter sa note de confiance et établir une connexion stable avec lui. J’ai plus appris via la doc ipfs que via la doc substrate à ce sujet. Ce serait intéressant de creuser davantage mais ce n’est pas dans mes priorités actuellement, voilà pourquoi je me contente d’une compréhension partielle.

3 Likes