UPassport API
🌟 Vue d'ensemble
UPassport est un système complet d'identité numérique et de gestion de fichiers intégré à Astroport.ONE. Il fournit une API sécurisée (port 54321) pour gérer les identités numériques, uploader des fichiers vers IPFS et interagir avec le réseau NOSTR.
📋 Table des Matières
🚀 Installation & Configuration
Installation Automatique
UPassport est automatiquement installé lors de la configuration d'Astroport.ONE :
Configuration
Créer le fichier .env dans le répertoire UPassport :
Gestion des Services
✨ Fonctionnalités Principales
🆔 Gestion d'Identité Numérique
Cartes NOSTR : Création et gestion d'identités NOSTR
Scan QR Code : Scan de QR codes pour vérification d'identité
Intégration Ğ1 : Liaison des identités avec la cryptomonnaie Ğ1
Géolocalisation : Association des identités avec coordonnées géographiques
📁 Gestion de Fichiers IPFS
Stockage Structuré : Organisation automatique des fichiers (Images, Music, Videos, Documents)
Sécurité Twin-Key : Fichiers liés aux identités NOSTR
Intégration IPFS : Stockage décentralisé avec génération de CID
Synchronisation Drive : Sync des fichiers entre IPFS et stockage local
🔐 Système d'Authentification
Authentification NIP-42 : Authentification sécurisée basée sur NOSTR
Rate Limiting : Protection contre les abus
Gestion IP de Confiance : Whitelist pour réseaux de confiance
Gestion de Session : Gestion sécurisée des sessions
🔌 Endpoints API
URL de Base
Endpoints Principaux
1. Interface Principale
Description : creates System json with @Ustats.sh (accept UPlanet grid coord ie. /?lat=43&lon=1°=1)
2. Gestion GEO Message NOSTR
Description : Interface de publication des "UPlanet GEO Message"
3. Interface SCAN
Description : MULITPASS 0.00 email registration + QR CODE Multi Scan : MULTIPASS, ZEN Card, uPASSPORT
4. Intégration Ğ1
Description : Interface Inscription MULTIPASS (option credentials Ğ1) ( Geo Localized )
API de Gestion de Fichiers
1. Upload de Fichier vers IPFS
Headers :
Paramètres :
file: Fichier à uploader (requis)npub: Clé publique NOSTR pour authentification (requis)
Réponse :
2. Upload depuis Drive IPFS
Body :
Réponse :
3. Suppression de Fichier
Body :
Réponse :
4. Test d'Authentification NOSTR
Body :
Réponse :
API Économie UPlanet ẐEN
1. Vérification de Solde Ğ1
Paramètres :
g1pub: Clé publique Ğ1 (requis)html: Si présent, retourne une page HTML au lieu de JSON (optionnel)
Réponse JSON :
Formule de conversion : ẐEN = (Ğ1 - 1) × 10
2. Historique Capital Social (SOCIETY)
Description : Récupère l'historique des parts sociales distribuées depuis le portefeuille SOCIETY. La clé publique est automatiquement récupérée depuis l'environnement ($UPLANETNAME_SOCIETY).
Paramètres :
html: Si présent, retourne une page HTML stylisée (optionnel)
Réponse JSON :
Types de parts sociales :
constellation: Parts sociales constellation (540€/3ans avec IA) 🌟satellite: Parts sociales satellite (50€/an sans IA) 🛰️parts: Parts sociales legacy (ancien format) 📦other: Autres types de transactions
Format des références blockchain :
Traçabilité : Chaque transaction inclut l'identifiant IPFS du nœud (ipfs_node) pour identifier la machine à l'origine de la transaction.
Page HTML : Accessible via ?html=1, fournit une interface web stylisée avec :
Résumé du capital social total distribué
Tableau détaillé des parts sociales par sociétaire
Type de part avec icône
Lien vers le nœud IPFS d'origine
Historique complet des transactions
3. Chiffre d'Affaires (REVENUE)
Description : Récupère l'historique du Chiffre d'Affaires depuis les transactions ZENCOIN. Calcule les revenus totaux depuis le portefeuille UPLANETNAME (hub de distribution des services).
Paramètres :
html: Si présent, retourne une page HTML stylisée (optionnel)year: Filtre par année (ex: "2024", "2025"). Par défaut: "all" (toutes les années)
Réponse JSON :
Filtrage par année :
GET /check_revenue: Toutes les années (avec résumé annuel)GET /check_revenue?year=2025: Uniquement l'année 2025GET /check_revenue?year=2024: Uniquement l'année 2024
Format des références blockchain :
Calcul du CA : Le Chiffre d'Affaires est calculé depuis les transactions INCOMING (entrantes) vers UPLANETG1PUB qui :
Proviennent de
UPLANETNAME_G1(réserve)Contiennent "ZENCOIN" dans la référence (ventes de services)
Page HTML : Accessible via ?html=1, fournit une interface web stylisée avec :
Résumé du CA total (ẐEN, Ğ1, nombre de transactions)
Tableau récapitulatif annuel (mode "all")
Boutons pour filtrer par année
Historique détaillé des ventes ZENCOIN avec identification client
Architecture économique :
🔐 Authentification NOSTR
Principe NIP-42
UPassport utilise l'authentification NOSTR (NIP-42) pour sécuriser les opérations privilégiées :
Événement d'Authentification : L'utilisateur signe un événement
kind: 22242Vérification Serveur : UPassport vérifie l'événement sur le relay NOSTR local
Autorisation : Si l'événement est valide et récent (< 24h), l'opération est autorisée
Workflow d'Authentification
Exemple d'Authentification (JavaScript)
📁 Gestion de Fichiers
Structure de Stockage
uDRIVE organise automatiquement les fichiers dans une structure hiérarchique :
Types de Fichiers Supportés
Images
jpg, jpeg, png, gif, bmp, svg
Images et graphiques
Music
mp3, wav, ogg, flac, m4a
Fichiers audio
Videos
mp4, avi, mov, mkv, webm
Fichiers vidéo
Documents
pdf, txt, doc, docx, odt
Documents texte
Sécurité Twin-Key
Chaque fichier est lié à l'identité NOSTR de l'utilisateur :
Vérification de Propriété : Seul le propriétaire peut modifier ses fichiers
Drive Personnel : Chaque utilisateur a son propre drive IPFS
Synchronisation : Possibilité de sync depuis d'autres drives publics
🌐 Intégration NOSTR
Événements NOSTR
Gestion d'événements NOSTR :
Kind 0 : Mise à jour de profil
Kind 1 : Messages texte
Kind 3 : Contacts et suivi
Kind 22242 : Authentification (NIP-42)
🛡️ Sécurité & Rate Limiting
Protection contre les Abus
UPassport implémente plusieurs niveaux de protection :
1. Rate Limiting
2. Gestion des IP de Confiance
3. Validation des Fichiers
Chiffrement et Sécurité
Chiffrement en Transit : HTTPS/TLS pour toutes les communications
Chiffrement au Repos : Fichiers chiffrés sur IPFS
Authentification Forte : NOSTR NIP-42 pour toutes les opérations
Isolation des Données : Chaque utilisateur a son propre espace
💡 Exemples d'Utilisation
1. Upload de Fichier avec Authentification
2. Synchronisation depuis IPFS
3. Suppression de Fichier
4. Interface Web
🔧 Dépannage
Problèmes Courants
1. Service UPassport ne démarre pas
2. Erreur d'authentification NOSTR
3. Problème d'upload IPFS
Logs et Debugging
🏗️ Architecture Technique
Composants Principaux
Dépendances Python
Configuration Système
🔗 Intégration avec Astroport.ONE
Ports et Services
54321
UPassport API
API d'identité numérique
7777
NOSTR Relay
Relay pour authentification
8080
IPFS Gateway
Accès aux fichiers IPFS
Flux d'Intégration
📊 Métriques et Monitoring
Indicateurs de Performance
Temps de Réponse : < 500ms pour les requêtes simples
Throughput : 1000+ requêtes/minute
Disponibilité : 99.9% uptime
Stockage : Gestion automatique de l'espace
Monitoring
🔗 Liens et Ressources
Documentation
README.md - Introduction principale
ARCHITECTURE.md - Architecture système
API.NOSTRAuth.readme.md - Documentation NOSTR
Ressources Externes
GitHub Repository - Code source
NOSTR Protocol - Documentation NOSTR
IPFS Documentation - Guide IPFS
Support
Email : support@qo-op.com
Documentation : https://astroport-1.gitbook.io/astroport.one/
Communauté : https://copylaradio.com
UPassport : Votre identité numérique décentralisée et sécurisée 🛡️✨
Last updated