Noyau logiciel open-source : IPFS + NOSTR + Duniter/Ğ1 + rnostr + Qdrant. Une ♥️box remplace S3, Cognito, Lambda, DynamoDB — sans lock-in, sans GAFAM.
bash <(curl -sL https://install.astroport.com)
| AWS / Azure | UPlanet / Astroport.ONE | Avantage |
|---|---|---|
| S3 | IPFS / uDRIVE | Stockage décentralisé, no lock-in |
| Cognito / Firebase | NOSTR Card (NIP-42) | Auth sans serveur, souveraineté |
| Lambda / Functions | ASTROBOT (scripts) | Programmable, open-source, bash |
| DynamoDB / CosmosDB | NOSTR events + IPFS | Indexation flexible, géolocalisée |
| IAM | Ctrl clé NOSTR/IPNS | Permissions natives, sans tiers |
| Billing | Ẑen stablecoin | Coût prévisible, sans surprise |
.sh, .py, .html, .js..py ou .sh d'un répertoire à un assistant IA.todo.sh génère le TODO depuis les commits Git avec mémoire N² NOSTR.# Phase 1 : analyse (deepseek-r1:14b identifie 3 problèmes) code_assistant 54321.py --kvbasename upassport # Phase 2 : correction du problème 2 (qwen2.5-coder:14b propose a/b/c) code_assistant 54321.py --kvbasename upassport --phase correction --choice 2 # Phase 3 : contrôle + application directe dans le fichier code_assistant 54321.py --kvbasename upassport --phase controle --choice a --patch # Générer le rapport TODO depuis les commits Git (avec mémoire N² constellation) todo.sh --day # analyse 24h, publie en NOSTR kind 30023
~/.zen/Astroport.ONE/install/install-ai-company.docker.shhttp://localhost:3100 (Paperclip) · http://localhost:8000 (OpenWebUI)
~/.zen/Astroport.ONE/install/install_rnostr_semantic.shnomic-embed-text via IA/embed.py — actif après BLOOM.me
# Déployer la stack AI Company (Paperclip + OpenWebUI + LiteLLM + Qdrant) ~/.zen/Astroport.ONE/install/install-ai-company.docker.sh # Relancer/arrêter docker compose -p ai-company-swarm restart # Remplacer strfry par rnostr + activer Qdrant sémantique ~/.zen/Astroport.ONE/install/install_rnostr_semantic.sh # Indexer des événements NOSTR dans Qdrant python3 IA/embed.py --index "kind:1 author:NPUB" python3 IA/embed.py --search "économie coopérative Ğ1"
uplanet.G1.CASH → NODEG1PUB.UPLANETNAME_G1 est le portefeuille central de l'essaim — émission et récupération des Ẑ (RESTITUTION:INDEMNISATION). Les burns PAF 4 semaines lui reviennent avant conversion en €.# 1. Vérification HMAC OpenCollective verify_hmac() { local sig="$(echo -n "$BODY" | openssl dgst -sha256 -hmac "$OC_SECRET")" [[ "$sig" == "$OC_SIG" ]] || exit 1 } # 2. Parse du tier et du montant TIER=$(jq -r '.data.order.tier.slug' <<< "$BODY") AMOUNT=$(jq -r '.data.order.totalAmount.value' <<< "$BODY") G1PUB=$(jq -r '.data.fromAccount.description' <<< "$BODY") # 3. Émission ẐEN sur Duniter selon le tier case "$TIER" in "love-box-le-claude") emit_zencard "$G1PUB" 50 ;; "love-box-deluxe-gpu") emit_zencard "$G1PUB" 540 ;; "cloud-usage") emit_multipass "$G1PUB" "$AMOUNT" ;; "membre-resident") queue_monthly_multipass "$G1PUB" "$AMOUNT" ;; esac # 4. Distribution ZEN Card : 33/33/33/1 distribute_zencard() { transfer "$G1PUB_MULTIPASS" $(( AMOUNT * 33 / 100 )) transfer "$G1PUB_RND" $(( AMOUNT * 33 / 100 )) transfer "$G1PUB_ACTIFS" $(( AMOUNT * 33 / 100 )) transfer "$G1PUB_CAPTAIN" $(( AMOUNT * 1 / 100 )) }
# Publié par ECONOMY.broadcast.sh — lu par contribute.html { "kind": 30850, "tags": [["d", "station-economy"]], "content": { "nostr_slots": 250, // MULTIPASS capacity "nostr_count": 142, // MULTIPASS used "zencard_slots": 24, // ZEN Card capacity "zencard_count": 7, // ZEN Card used "BILAN": 1247.5, // Solde station en Ẑ "NCARD": 3 // ẑen/sem inclus membres } }
NOSTR NIP-01. Lors d'une publication, l'utilisateur envoie vers ses N relais configurés (ses "amis"). Chaque relai propage à son tour vers ses N abonnés. Résultat : N × N = N² chemins de diffusion garantis pour atteindre les "amis des amis". Plus le réseau croît, plus la résilience est quadratique — sans serveur central. La configuration des relais voisins est stockée en kind 3 (contact list) sur chaque nœud Astroport.
UPLANET.official.sh -s)UPLANETG1PUB transit → G1PUBNOSTR MULTIPASS du Parrain (Opex circulaire)UPLANETNAME_RND (Astroport.ONE R&D)UPLANETNAME_ASSETS (forêts-jardins, biens communs)CAPTAING1PUB MULTIPASS personnel du Capitaine (prime gestion)CAPTAIN_DEDICATED → CASH + RND + ASSETS + 1% après provision IS).
bash <(curl -sL https://install.astroport.com). Le script installe automatiquement : IPFS (kubo), relai NOSTR (strfry), UPassport API (port 54321), G1BILLET, Prometheus, Flutter SDK avec systemd, pare-feu UFW et sudoers. Pré-requis : Ubuntu/Debian + accès sudo. Après installation, envoyez un email à support@qo-op.com avec votre GMARKMAIL et hostname pour être validé (primo-transaction Ğ1 requise). Alternative : u.copylaradio.com/dev pour tester les API sans nœud local.cpscript analyse récursivement un fichier et regroupe le script + ses dépendances dans le presse-papiers. cpcode regroupe tous les fichiers d'une extension dans un répertoire. code_assistant orchestre les phases analyse → correction → contrôle via Ollama local (deepseek-r1 : analyse, qwen2.5-coder : correction). todo.sh génère un rapport TODO depuis les commits Git avec mémoire N² constellation (kind 31910). Ces outils s'installent avec Astroport.ONE dans ~/.zen/Astroport.ONE/.install/install-ai-company.docker.sh. La stack Docker comprend : Paperclip (gestion agents IA, port 3100), OpenWebUI (gateway + tools, port 8000), LiteLLM (proxy modèles, port 8001), Qdrant (mémoire vectorielle, port 6333). Ollama tourne sur l'hôte — les conteneurs y accèdent via le bridge Docker. Bootstrap admin : docker exec -it ai-company-swarm-paperclip-1 pnpm paperclipai onboard. Destinée à la R&D market (communication G1FabLab).install/install_rnostr_semantic.sh est fonctionnel pour les tests mais la migration des filtres bash strfry vers les règles Rust rnostr n'est pas encore complète. Les embeddings NOSTR dans Qdrant (IA/embed.py + nomic-embed-text) nécessitent l'activation de l'essaim IPFS privé (BLOOM.me → DRAGON_p2p_ssh.sh). Si vous voulez contribuer : github.com/papiche/Astroport.ONE — issues ouvertes sur la migration strfry → rnostr.getRelayUrl()) et souscrit au kind 30800 avec le d-tag cooperative-config. Si le contenu JSON contient les champs OC_URL_SATELLITE, OC_URL_CONSTELLATION, OC_URL_CLOUD ou OC_URL_MEMBRE, ils remplacent les URLs hardcodées. L'event est signé par la clé du Capitaine.github.com/papiche/Astroport.ONE) fournit les scripts d'installation. La stack comprend : un nœud IPFS local, un relai NOSTR Strfry, les scripts oc2uplanet.sh (webhook), ECONOMY.broadcast.sh (cron relai), et l'interface web UPlanet. La station nécessite une clé Ğ1 active (Capitaine) et un accès OpenCollective pour recevoir les webhooks. Voir aussi le pipeline CI/CD dans DEV.md pour automatiser le déploiement via GitHub Actions.ECONOMY.broadcast.sh agrège les 3 vecteurs via kind 30850 — lisible sans base centralisée. C'est ce qu'Excel ou Dolibarr ne peuvent pas faire nativement.ws://127.0.0.1:7777) — la page le détecte automatiquement. Pour simuler les données station, exposez un JSON compatible sur localhost:54321. Pour le webhook, utilisez ngrok et testez avec le payload OC via curl -X POST avec le header HMAC. En production, le portail u.copylaradio.com/dev permet de tester les appels API sans installation locale.