Skip to content
Snippets Groups Projects

Draft: Nostr

Open poka requested to merge nostr into master

Files

+ 193
0
# Exemples d'utilisation de la commande `gcli profile`
## Notes importantes
- L'option `-o json` doit toujours être placée au début de la commande, juste après `gcli`
- L'option `--no-password` doit être placée avant la sous-commande `profile`
- Le relais par défaut est `wss://relay.copylaradio.com`
- Les clés sont stockées dans un coffre-fort local
## Exemple complet : Gestion du profil de TOTO
### 1. Import de la clé G1v1
```bash
# Import de la clé G1v1 de TOTO
gcli -o json --no-password vault import -S g1v1 --g1v1-id "toto" --g1v1-password "toto" --no-password -n TOTO
```
### 2. Configuration du profil
```bash
# Définition du profil avec informations personnelles
gcli -o json --no-password profile set \
--name "TOTO" \
--display-name "TOTO le Super" \
--about "Développeur passionné de cryptographie" \
--picture "https://example.com/toto.jpg" \
--website "https://toto.dev" \
--github "toto-dev" \
--twitter "toto_crypto" \
--mastodon "mastodon.social/@toto" \
--ipfs-gw "https://ipfs.io" \
--ipns-vault "/ipns/QmNostrVaultKey" \
--zencard "zencard_address" \
--tw-feed "tw_feed_key"
```
### 3. Vérification du profil
```bash
# Vérification que le profil a bien été publié
gcli -o json --no-password profile get
```
### 4. Export des clés jumelles
```bash
# Export des clés IPFS
gcli -o json --no-password profile export --format ipfs
# Export des clés Nostr
gcli -o json --no-password profile export --format nostr
# Export des clés Bitcoin
gcli -o json --no-password profile export --format bitcoin
# Export des clés Monero
gcli -o json --no-password profile export --format monero
# Export des clés Duniter v1
gcli -o json --no-password profile export --format g1v1
# Export des clés Duniter v2
gcli -o json --no-password profile export --format g1v2
```
### 5. Suppression du profil (si nécessaire)
```bash
# Suppression du profil
gcli -o json --no-password profile remove
```
### Champs supplémentaires créés par make_NOSTRCARD.sh
Le script `make_NOSTRCARD.sh` ajoute automatiquement plusieurs champs spéciaux au profil Nostr :
1. **Clés jumelles** (twin_keys) :
- `ipns` : Clé IPNS pour le stockage personnel
- `bitcoin` : Adresse Bitcoin jumelle
- `monero` : Adresse Monero jumelle
2. **Tags NIP-39** pour les identités externes :
- `g1pubv2` : Clé publique Duniter v2 (format SS58)
- `g1pub` : Clé publique Duniter v1
- `ipfs_gw` : URL de la passerelle IPFS
- `ipns_vault` : Clé IPNS du coffre-fort
- `zencard` : Adresse ZenCard
- `tw_feed` : Clé IPNS du flux
3. **Métadonnées de localisation** :
- `ZUMAP` : Coordonnées géographiques (latitude/longitude)
- `GPS` : Données GPS formatées
4. **Informations de sécurité** :
- `TODATE` : Horodatage de création
- `LANG` : Langue préférée
- `HEX` : Clé publique en format hexadécimal
- `NPUB` : Clé publique en format bech32
5. **QR Codes générés** :
- `IPNS.QR.png` : QR code pour l'accès au coffre-fort IPNS
- `G1PUBNOSTR.QR.png` : QR code de l'identité G1
- `scan_${MOATS}.png` : Photo de profil scannée
Ces champs sont automatiquement ajoutés lors de la création du profil via `make_NOSTRCARD.sh` et sont visibles dans la sortie JSON de la commande `profile get`.
## 1. Récupérer un profil (`get`)
```bash
# Récupérer le profil depuis le relais par défaut
gcli profile get
# Récupérer le profil depuis un relais spécifique
gcli profile get --relay wss://relay.example.com
# Récupérer le profil au format JSON
gcli -o json profile get
# Récupérer le profil sans mot de passe
gcli --no-password profile get
```
## 2. Définir un profil (`set`)
```bash
# Définir le nom et la description
gcli profile set --name "Alice" --about "Nostr user"
# Définir l'image de profil et la bannière
gcli profile set --picture "https://example.com/avatar.jpg" --banner "https://example.com/banner.jpg"
# Définir les identités sociales
gcli profile set --github "alice" --twitter "alice" --mastodon "mastodon.social/@alice"
# Définir les clés jumelles
gcli profile set --ipfs-gw "https://ipfs.io" --ipns-vault "key123" --zencard "address123"
# Publier sur un relais spécifique
gcli profile set --name "Alice" --relay wss://relay.example.com
# Publier sans mot de passe
gcli --no-password profile set --name "Alice"
# Publier au format JSON
gcli -o json profile set --name "Alice"
```
## 3. Supprimer un profil (`remove`)
```bash
# Supprimer le profil du relais par défaut
gcli profile remove
# Supprimer le profil de plusieurs relais
gcli profile remove --relays "wss://relay1.com,wss://relay2.com"
# Supprimer sans mot de passe
gcli --no-password profile remove
# Supprimer au format JSON
gcli -o json profile remove
```
## 4. Exporter les clés (`export`)
```bash
# Exporter les clés Nostr
gcli profile export --format nostr
# Exporter les clés IPFS
gcli profile export --format ipfs
# Exporter les clés Bitcoin
gcli profile export --format bitcoin
# Exporter les clés Monero
gcli profile export --format monero
# Exporter les clés Duniter v1
gcli profile export --format g1v1
# Exporter les clés Duniter v2
gcli profile export --format g1v2
# Exporter sans mot de passe
gcli --no-password profile export --format nostr
# Exporter au format JSON
gcli -o json profile export --format nostr
# Exporter sans mot de passe au format JSON
gcli -o json --no-password profile export --format nostr
```
## Notes supplémentaires
- Pour la commande `set`, si aucune option n'est fournie, l'aide s'affiche
- Pour la commande `export`, si le format n'est pas reconnu, la liste des formats disponibles s'affiche
- Les formats d'export disponibles sont : `ipfs`, `nostr`, `bitcoin`, `monero`, `g1v1`, `g1v2`
\ No newline at end of file
Loading