Questions d'un débutant

Bonjour à tous

Je viens encore de faire une après midi avec @Nicolas80 en visio afin que je puisse en découvre plus sur le monde informatique, toujours à l’aide du serveur en version gratuite de oracle avec “pay as you go”.
Pour des nouveaux qui voudraient si mettre, il y a ce post avec les étapes à suivre pour le tester cette version gratuite oracle avec 200 GO de stockage : Tutoriel pour un serveur Oracle gratuit
Je serai content d’aider à nouveau sur ces étapes, ça me permettrai de réviser tout cela, vous pouvez me contacter via le forum si vous êtes intéressés.

Avec l’aide de Nicolas, j’ai pu en découvrir Dockge, Pangolin, le terminal, différentes lignes de commandes, et j’ai pu être aidé afin de mettre en place un noeud forgeron duniter v1 notamment.

Au passage, j’aimerai demandé comment être sûr que le serveur que j’ai mis en place ( https://duniterg1.josephin.brussels.ovh ) fonctionne correctement. J’ai pu vérifier l’url de départ mais comment vérifier que les parties /gva et /ws2p sont fonctionnelles ?

Merci par avance pour vos réponses.
Bonne fin d’année 2025

1 Like

Je ne connais pas bien les détails de Duniter V1; et je ne me rappelle pas s’il y a un moyen de vérifier que les parties suivantes fonctionnent correctement:

  • /ws2p mappé pour le port 20901
  • /gva mappé pour le port 30901

Pour l’url principale qui mappe le port 10901; on a testé avec:

curl -i https://duniterg1.josephin.brussels.ovh/
> On voit bien la version du server 1.8.7

curl -i https://duniterg1.josephin.brussels.ovh/network/peering
> On peut vérifier le block courant et que la pubkey est bien celle de @Josephin

curl -i https://duniterg1.josephin.brussels.ovh/blockchain/current
> Les détails du dernier block
  • pour WS2P il te faut un client websocket comme l’extension navigateur simple websocket client par exemple et tu pourras tester une connexion websocket (ws://) ou websocket sécurisé (wss://) sur ton serveur wss://duniterg1.josephin.brussels.ovh/ws2p/
  • pour GVA tu dois pouvoir te connecter à l’interface playground de ton noeud sur https://duniterg1.josephin.brussels.ovh/gva/playground et lancer une requête graphql comme {currentBlock{number}} par exemple

Tu peux comparer avec un serveur qui fonctionne : GraphQL Playground et wss://duniter-v1-g1.axiom-team.fr/ws2p/

1 Like

J’arrive bien à tester sur le noeud de axiom-team; mais par contre, je vois que c’est un noeud en 1.9.0 et non 1.8.7.

Pour mon serveur 1.8.7 (on a installé la même version pour @Josephin ) je n’arrive pas à tester la partie /ws2p ou /gva :face_with_diagonal_mouth:

Par contre, dans les logs du serveur, je vois qu’il utilise bien WS2P (mais pas sur si la partie server fonctionne correctement ou non).

Pour info, le docker compose.yaml de mon serveur:

services:
  duniter:
    image: pinidh/duniter:1.8.7-pini2
    container_name: duniter-v1
    platform: linux/arm64/v8
    restart: unless-stopped
    ports:
      - 127.0.0.1:9220:9220
      - 0.0.0.0:10901:10901
      - 0.0.0.0:20901:20901
      - 0.0.0.0:30901:30901
    environment:
      # Duniter configuration
      DUNITER_AUTO_SYNC: "true"
      DUNITER_SYNC_HOST: g1.duniter.org:443
      DUNITER_BMA_ENABLED: "true"
      DUNITER_BMA_IP4: 0.0.0.0
      DUNITER_BMA_REMOTE_PORT: "443"
      DUNITER_BMA_REMOTE_HOST: "g1.brussels.ovh"
      DUNITER_GVA_ENABLED: "true"
      DUNITER_GVA_PATH: "gva"
      DUNITER_GVA_PORT: "30901"
      DUNITER_GVA_REMOTE_PATH: "gva"
      DUNITER_GVA_REMOTE_PORT: "443"
      DUNITER_GVA_REMOTE_HOST: "g1.brussels.ovh"
      DUNITER_GVA_SUBSCRIPTIONS_PATH: gva-sub
      DUNITER_GVA_WHITELIST: 127.0.0.1,::1,163.172.67.95
      DUNITER_WS2P_PUBLIC: "true"
      DUNITER_WS2P_HOST: 0.0.0.0
      DUNITER_WS2P_PORT: "20901"
      # When exposing remotely through reverse proxy
      DUNITER_WS2P_REMOTE_HOST: "g1.brussels.ovh"
      DUNITER_WS2P_REMOTE_PORT: "443"
      DUNITER_WS2P_REMOTE_PATH: "ws2p"
      # Performance configuration
      DUNITER_POW_CPU: "0.5"
      DUNITER_POW_NBCORES: "2"
      #DUNITER_MAX_OLD_SPACE_SIZE: "6144"
      DUNITER_MAX_OLD_SPACE_SIZE: "8192"
      #DUNITER_MAX_OLD_SPACE_SIZE: "10240"
    volumes:
      - duniter_etc:/etc/duniter
      - duniter_data:/var/lib/duniter

Du coup, j’ai théoriquement 2 manière d’accéder au serveur; en direct sur les ports exposés de la machine:

  • 0.0.0.0:10901
  • 0.0.0.0:20901
  • 0.0.0.0:30901

Et via mon reverse proxy dans NGinx Proxy Manager que j’ai configuré (avec “Websocket Support” activé) sur

  • (https) g1.brussels.ovh (pour le port 10901)
  • Avec 2 “Custom Locations” supplémentaires
    • “/ws2p” pour le port 20901
    • “/gva” pour le port 30901

En prenant comme exemple uniquement la partie ws2p je n’arrive pas à tester mon serveur.

Si je teste avec le reverse proxy; il me renvoie 502 Bad Gateway

nix run nixpkgs#websocat -- wss://g1.brussels.ovh/ws2p/   
websocat: WebSocketError: WebSocketError: Received unexpected status code (502 Bad Gateway)
websocat: error running

Si je teste en direct via le mapping du port 20901 exposé; peut-être que ça fonctionne, mais ça ne retourne rien du tout; ça reste juste “bloqué”. Peut-être que ce comportement est “normal” pour la version 1.8.7 ?

nix run nixpkgs#websocat -- ws://g1.brussels.ovh:20901/
> bloqué à attendre un input

# Même chose avec l'ip elle-même
nix run nixpkgs#websocat -- ws://141.145.210.46:20901/
> bloqué à attendre un input

Pour comparaison, l’appel sur le serveur 1.9.0 de axiom-team me renvoie du contenu avant de rester bloquer:

nix run nixpkgs#websocat -- wss://duniter-v1-g1.axiom-team.fr/ws2p/
{"auth":"CONNECT","pub":"Do99s6wQR2JLfhirPdpAERSjNbmjjECzGxHNJMiNKT3P","challenge":"72355739-7010-4bfd-abaa-b3292f0216f2e1d10e4f-9f38-46ba-9b03-de0d1b0c68ed","sig":"eqMDfL5RDC3I6cctWfVuIC/EfbXDi2bbiq8LaG5LbM1tanx3Dbzd/X7rNhE6vdhDBQZo13R0SfzR+473/eAlCg==","currency":"g1"}
> bloqué à attendre un input

Pour la partie gva je remarque en écrivant ceci que j’ai DUNITER_GVA_WHITELIST configuré; cela pourrait sans doute expliquer le soucis ?
Ou peut-être que gva n’est tout simplement pas fonctionnel en version 1.8.7 ?

Exactement, c’est la version 1.9 qui introduit GVA, la version 1.8.7 expose uniquement BMA (10901) et WS2P (20901).

Un noeud WS2P valide doit te retourner un json avec sa clé publique et un challenge comme sur le noeud axiom.

Tu devrais tester dans un premier temps la requête en local sur ton port 20901 (ws://) puis en distant en passant par ton reverse proxy (wss://).

Actuellement ton noeud n’accepte pas les connexions sur le port 20901.

aya@AyMac ~ % nc -v g1.brussels.ovh 20901
nc: connectx to g1.brussels.ovh port 20901 (tcp) failed: Connection refused
1 Like