La version 1.6 de Duniter est pratiquement terminée, et comme elle introduit une nouvelle fonctionnalité structurante (WS2P : nouvelle couche réseau) je vous propose de la tester avant sa sortie officielle.
Vous pouvez télécharger cette version ici : Release v1.6.2 · duniter/duniter · GitHub
Merci d’être indulgent dans ce test, et de répondre ici pour me faire vos retours. S’il vous trouvez des bugs, je ferai en sorte de les corriger pour la version officielle.
N.B. : je n’ai pas de version ARM à vous proposer avant 2 ou 3 jours, mon Raspberry PI 3 ayant rendu l’âme. Pour les plus courageux, vous pouvez assez simplement réaliser le livrable en suivant les étapes 1. et 3. de ce tutoriel et en mettant comme version “1.6.2”. Le livrable ARM se trouvera alors dans le répertoire release/arch/arm
.
Installation
Téléchargez le livrable adapté à votre distribution, puis installez-le. Cette nouvelle version est rétro-compatible et ne retire rien à votre installation actuelle.
Monnaie
Le nœud fonctionne aussi bien sur Ğ1 que Ğ1-Test. Je vous conseille quand même de débuter par Ğ1-Test pour faire vos essais.
Nœuds compatibles
Vous devriez déjà pouvoir observer au moins 2 nœuds compatibles dans chaque monnaie, ceux de duniter.org et de cgeek.fr.
Configuration de WS2P
Aucune configuration particulière n’est requise pour un fonctionnement basique, où votre nœud se connectera de lui-même au réseau et se rendra joignable par les connexions qu’il initiera.
Il n’y a pas de configuration non plus pour un fonctionnement avancé si votre nœud se trouve sur un réseau privé derrière une box car la configuration sera alors automatique.
Fonctionnement avancé sur un serveur dédié
Si vous souhaitez installer cette version sur un serveur dédié qui ne serait pas derrière une box internet, alors 2 choix s’offrent à vous :
-
se limiter au fonctionnement en mode basique, limite la connectivité à votre nœud aux connexions initiées par vous.
-
activer le fonctionnement avancé, permettant à des nœuds de se connecter à vous sans avoir besoin que vous les sollicitiez. Dans ce cas il vous faudra configurer votre nœud en exposant un port pour WS2P et en le routant jusqu’à votre nœud avec les commandes suivantes :
--ws2p-noupnp Do not use UPnP to open remote port. --ws2p-port <port> Host to listen to --ws2p-host <host> Port to listen to --ws2p-remote-host <address> Availabily host --ws2p-remote-port <port> Availabily port
Si par exemple vous avez ouvert le port 33333 à l’adresse mon-noeud.fr, et que vous souhaitez faire écouter l’interface WS2P sur 78.89.87.55:7777, vous lancerez la commande :
duniter config --ws2p-noupnp --ws2p-port 7777 --ws2p-host 78.89.87.55 --ws2p-remote-port 33333 --ws2p-remote-host mon-noeud.fr
Cela permettra à Duniter de faire écouter WS2P sur 78.89.87.55:7777, et de déclarer publiquement cette interface disponible à l’adresse mon-noeud.fr:33333.
À noter qu’il faut forcément des nœuds en mode avancé, sinon le réseau WS2P ne fonctionne pas. Plus il y a de nœuds en mode avancé, plus le réseau est décentralisé.
Les tests à effectuer
Vous pouvez vérifier le bon fonctionnement de WS2P à plusieurs endroits :
UI : la page d’accueil
La page d’accueil affiche le nombre de nœuds connectés à votre nœud :
UI : l’onglet « network » de la page d’accueil
La page d’accueil comporte désormais un 3ème onglet nommé « Network » et qui vous affiche une vue plus complète de la connectivité WS2P ainsi qu’une vue réseau :
BMA : l’URL /network/ws2p/info
Également, si vous avez activé BMA, vous pouvez consulter le nombre de nœuds connectés en consultant l’URL /network/ws2p/info de votre nœud :
{
"peers": {
"level1": 0,
"level2": 2
}
}
BMA : l’URL /network/ws2p/heads
Toujours si vous avez activé BMA, vous pouvez consulter la vue réseau telle que retransmise par la couche WS2P :
{
"heads": [
{
"message": "WS2P:HEAD:3dnbnYY9i2bHMQUGyFp5GVvJ2wBkVpus31cDJA5cfRpj:54813-00000A24802B33B71A91B6E990038C145A4815A45C71E57B2F2EF393183C7E2C",
"sig": "a1vAAM666kPsMCFTbkgkcCsqHf8nmXR+Lh3D3u+BaXzmArj7kwlItbdGUs4fc9QUG5Lp4TwPS7nhOM5t1Kt6CA=="
},
{
"message": "WS2P:HEAD:2aqxBdbiDeghGJFthExgNnVicU5YVj5jV8kb6CWHJ5kU:54813-00000A24802B33B71A91B6E990038C145A4815A45C71E57B2F2EF393183C7E2C",
"sig": "6JE7+FnONSGSVwZVGMLgSScGny/i4N/ivGjqU4+Hjm42+C00hlY5HrtfePtvcoEJAulgmBTVZyKVMMaZUXkHAQ=="
},
{
"message": "WS2P:HEAD:HVbVWiHyjCr9KNQfPXT2qXzck4xoShEggckGGtNN7JFq:54813-00000A24802B33B71A91B6E990038C145A4815A45C71E57B2F2EF393183C7E2C",
"sig": "JN0mcnIG27jdA0UNekebFt0ukbh1U33IcCxi6HeGj0dAdGtIU7G6+ANiDpdhbWE9DUKRQbX8Gkks/xADgo0RBg=="
}
]
}
Surveiller la consommation mémoire
Il va falloir vérifier qu’il n’existe pas de fuite mémoire avec l’introduction de cette nouvelle API. Je vais moi-même faire mes mesures, mais si vous savez surveiller la consommation merci de faire cette vérification sur votre machine.
Désactiver BMA
Avec l’arrivée de Duniter 1.6, vous pouvez désactiver BMA avec la commande suivante :
duniter config --nobma
Vous pouvez aussi effectuer cette opération dans Duniter UI > Network :
Puis de redémarrer votre nœud.
Je vous conseille de réaliser cette opération pour les tests, surtout si vous possédez une machine ARM qui supportait mal Duniter 1.5.
Vous mettre derrière une routeur 3G/4G
C’est un test important à réaliser si vous en avez la possibilité. Bien sûr je l’ai déjà fait moi-même, Duniter peut fonctionner derrière un téléphone 4G en P2P. Mais je vous invite à faire le test vous aussi.
Bons tests !