Comment configurer un NIP-05 sur ton propre domaine ?

Guide pratique pour configurer un identifiant NIP-05 sur ton propre domaine, sans dépendre d'un service tiers.
Comment configurer un NIP-05 sur ton propre domaine ?

1. Principe du NIP-05

Le NIP-05 associe ta clé publique Nostr à un identifiant lisible du type :

tonnom@tondomaine.com

Les clients Nostr vérifient cette association en effectuant une requête HTTP vers :

https://tondomaine.com/.well-known/nostr.json

2. Étapes pour configurer un NIP-05

2.1. Prépare ta clé publique en format HEX

Ta clé doit être en hexadécimal - HEX (64 caractères), pas en npub1….

Convertisseurs NPUB → HEX utiles :

_

2.2. Crée un fichier nostr.json

Crée un fichier JSON avec ce contenu (exemple) :

{
  "names": {
    "tonnom": "ta_cle_publique_en_hex"
  },
  "relays": {
    "ta_cle_publique_en_hex": [
      "wss://relay.damus.io",
      "wss://nos.lol",
      "wss://relay.primal.net"
    ]
  }
}

Remplace “tonnom” par le nom que tu veux enregistrer, tout en minuscules, et uniquement avec les caractères :

  • a-z 
  • 0-9 
  • « - » ou « _ » ou « . »

💡 Tu peux mettre « _ » comme nom pour que l’identifiant soit juste tondomaine.com (certains clients l’affichent ainsi).

💡 La section “relays” est optionnelle mais recommandée.

_

2.3. Place le fichier JSON sur ton serveur

  1. Crée le dossier “.well-known” à la racine de ton site (avec un point devant well).
  2. Mets le fichier “nostr.json” dedans.

L’URL finale doit être accessible en HTTPS :

https://tondomaine.com/.well-known/nostr.json

_

2.4. Configure les en-têtes CORS (obligatoire)

Les clients Nostr font des requêtes cross-origin, donc le serveur doit renvoyer :

Access-Control-Allow-Origin: *

⚠️ Important : l’endpoint ne doit pas faire de redirection (301/302).

_

2.5. Teste

Ouvre dans un navigateur :

https://tondomaine.com/.well-known/nostr.json

Le contenu du fichier JSON doit s’afficher.

Vérifie aussi les en-têtes CORS (outils en ligne comme CORS Test).

_

2.6. Déclare ton NIP-05 dans ton profil Nostr

Dans ton client (Damus, Amethyst, Primal, etc.) :

  1. Va dans les paramètres de ton profil.
  2. Champ NIP-05 / Verified Nostr Address.
  3. Entre tonnom@tondomaine.com.
  4. Sauvegarde (ça publie un événement kind 0).

💡 Certains clients mettent les résultats en cache. La vérification peut donc prendre quelques minutes avant d’apparaître.

3. Astuces et points d’attention

  • Le nom local “tonnom” doit être en minuscules.
  • Tu peux avoir plusieurs noms dans le même fichier JSON.
  • Si tu utilises un sous-domaine nostr.tondomaine.com, l’adresse NIP-05 sera tonnom@nostr.tondomaine.com.
  • N’oublie pas le HTTPS (Let’s Encrypt suffit).
  • Après modification du fichier JSON, vide le cache éventuel de ton CDN/hébergeur.

✅ Tu as maintenant un NIP-05 enregistré sur ton domaine et 100% sous ton contrôle.

4. Plusieurs identités sur le même domaine.

Tu peux associer plusieurs identités NIP-05 au même domaine :

{
  "names": {
    "nom1": "hex1...",
    "nom2": "hex2...",
    "nom3": "hex3..."
  }
}

Il suffit d’ajouter une entrée par nom dans la section “names” en prenant soin de mettre une virgule à la fin de chaque entrée (sauf la dernière).

5. En résumé

Le NIP-05 permet de prouver qu’une clé publique Nostr est associée à un domaine que tu contrôles.

Il améliore la lisibilité et la confiance, mais ne remplace pas la sauvegarde de ta clé privée (NSEC).


Write a comment