1. Présentation — Pourquoi NostrGraph existe
NostrGraph v1.1 est une micro‑application statique qui affiche le graphe social immédiat d’un compte Nostr. Elle ne montre pas une timeline : elle montre la structure réelle du réseau — un ensemble de clés publiques reliées par des relations de suivi (kind 3).
L’app fonctionne entièrement dans le navigateur : aucun backend, aucune dépendance externe, aucun tracking. Elle se connecte à plusieurs relays Nostr via WebSocket, interroge les contacts d’un compte, puis dessine un graphe minimal sur un canvas.
2. Fonctionnalités de NostrGraph v1.1
La version 1.1 de NostrGraph se concentre sur un périmètre volontairement réduit, mais déjà utile pour les utilisateurs et les développeurs.
- Support npub → hex via NIP‑19 (décodage côté client)
- Support direct des clés publiques hex (64 caractères)
- Connexion à plusieurs relays Nostr publics (WebSocket)
- Envoi de requêtes kind 3 pour récupérer les contacts
- Construction d’un graphe minimal : root + contacts
- Affichage du graphe sur un canvas : root au centre, contacts en cercle
- Clic sur un nœud → panneau d’information (id + degré)
- Messages d’état pour le chargement et les erreurs
- Interface brutaliste noir/blanc, responsive, 100% client‑side
3. Mode d’emploi — Comment utiliser NostrGraph
3.1 Accès à l’application
L’instance actuelle de NostrGraph v1.1 est accessible ici :
3.2 Entrer une identité
Dans le champ principal, tu peux coller :
- un npub (encodage NIP‑19)
- ou une clé publique hex (64 caractères)
Si tu colles un npub, l’app le décode en hex côté client via un module NIP‑19 minimal. Si tu colles directement une clé hex, elle est utilisée telle quelle.
3.3 Lancer l’exploration
Une fois l’identité collée, clique sur le bouton « Explorer ». L’app :
- valide le format (npub ou hex)
- décode le npub si nécessaire
- ouvre des connexions WebSocket vers plusieurs relays
- envoie une requête kind 3 pour récupérer les contacts
- construit un graphe à partir des events reçus
- dessine le graphe sur le canvas
4. Lire le graphe — Ce que tu vois à l’écran
Le graphe affiché par NostrGraph v1.1 est volontairement simple :
- le nœud central représente l’identité que tu as fournie (root)
- les nœuds autour représentent les contacts déclarés dans son kind 3
- chaque ligne représente une relation de suivi root → contact
En cliquant sur un nœud, tu ouvres un panneau d’information qui affiche :
- l’identifiant du nœud (clé publique)
- son degré dans le graphe (nombre de liens)
Ce n’est pas un client social : c’est une vue structurelle de ton réseau immédiat.
5. Cas d’usage — Côté utilisateur
Pour un utilisateur Nostr, NostrGraph v1.1 permet de :
- visualiser son propre graphe social
- voir si son compte est plutôt isolé, connecté ou hub
- explorer le réseau d’un autre compte en collant son npub
- comprendre que Nostr n’est pas une simple timeline, mais un graphe d’identités signées
C’est un outil de compréhension : il montre ce que le protocole fait réellement, au‑delà de l’interface des clients.
6. Cas d’usage — Côté développeur
Pour un développeur Nostr, NostrGraph v1.1 sert de microscope graphique :
- vérifier que les relays renvoient bien les events kind 3 attendus
- débugger la follow list d’un compte
- tester la cohérence d’un profil (contacts, densité, structure)
- préparer des analyses plus avancées (relays, propagation, clusters)
Là où NWAK inspecte les events JSON bruts, NostrGraph en donne une projection visuelle.
7. Stack technique et souveraineté
NostrGraph v1.1 respecte une approche radicalement simple :
- HTML / CSS / JavaScript brut
- aucun framework
- aucune dépendance externe
- aucun backend
- WebSockets Nostr directs vers plusieurs relays
- hébergement statique (Base.44, GitHub Pages, Neocities, etc.)
Le code tourne entièrement côté client. L’utilisateur garde le contrôle : pas de compte, pas de base de données, pas de serveur à faire confiance.
8. Et après ? NostrGraph v2 sur GitHub
NostrGraph v1.1 est une première brique : un explorateur de graphe social immédiat. Une version plus complète est déjà en cours de développement : NostrGraph v2.
Cette v2 sera :
- hébergée sur GitHub dans un dépôt public
- versionnée proprement
- documentée
- ouverte aux contributions
Elle intégrera notamment :
- NIP‑65 — relays déclarés par utilisateur
- visualisation de la propagation d’un event (latence par relay)
- clusters par relay
- profondeur 2 du graphe
- export JSON pour analyses externes
L’objectif : transformer NostrGraph en analyseur Nostr souverain, utile autant aux utilisateurs qu’aux développeurs.
Conclusion — Un premier cockpit visuel pour le graphe Nostr
NostrGraph v1.1 ne cherche pas à remplacer un client Nostr. Il fournit une chose précise : une vue graphique de ton réseau immédiat, à partir de ton npub ou de ta clé publique.
En rendant visible le graphe social sous‑jacent, NostrGraph participe à une même démarche que NWAK : voir Nostr là où il ne ment pas — dans sa structure, ses events, ses liens. La v2, hébergée sur GitHub, prolongera cette logique en ajoutant relays, propagation et analyse avancée.