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&deg=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 2025

  • GET /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 :

  1. Proviennent de UPLANETNAME_G1 (réserve)

  2. 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 :

  1. Événement d'Authentification : L'utilisateur signe un événement kind: 22242

  2. Vérification Serveur : UPassport vérifie l'événement sur le relay NOSTR local

  3. 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

Type
Extensions
Description

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

Port
Service
Description

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

Ressources Externes

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