# 4NK Development Environment Ce dépôt contient l'environnement de développement complet pour l'écosystème 4NK, incluant tous les modules SDK, clients et services. ## 🏗️ Architecture ### Projets SDK (Rust) - **sdk_common** : Bibliothèque commune avec types et utilitaires partagés - **sdk_client** : Client SDK principal avec support WASM (migration flate2 en cours) - **sdk_storage** : Service de stockage distribué - **sdk_signer** : Service de signature avec interface TypeScript ### Clients (Node.js/TypeScript) - **sdk_signer_client** : Client TypeScript pour sdk_signer - **ihm_client** : Interface utilisateur web ### Services - **4NK_node** : Infrastructure Docker complète avec Bitcoin, Tor, et services 4NK - **sdk_relay** : Service de relais pour la communication P2P ### Outils - **4NK_template** : Template Docker pour les nouveaux projets - **4NK_wallet** : Application wallet ## 🚀 Démarrage rapide ### Prérequis - Docker et Docker Compose v2 - Rust (latest stable) - Node.js 18+ - Git ### Installation ```bash # Cloner le dépôt git clone cd 4NK_dev # Configurer l'environnement ./setup_dev_env.sh # Démarrer l'infrastructure cd 4NK_node ./scripts/manage_services.sh start ``` ## 📦 Gestion des dépendances WASM ### État actuel - **sdk_common** : ✅ Migré vers `flate2` (remplace `zstd`) - **sdk_client** : 🔄 Stub WASM temporaire avec `flate2` (en attente de migration complète) - **sdk_signer** : ✅ Compatible avec le stub WASM ### Migration en cours 1. **Phase 1** : ✅ Migration `sdk_common` vers `flate2` 2. **Phase 2** : 🔄 Migration `sdk_client` vers `k256` et `flate2` 3. **Phase 3** : ⏳ Intégration complète WASM 4. **Phase 4** : ⏳ Déploiement ## 🛠️ Développement ### Compilation des projets ```bash # Compiler tous les projets Rust for project in sdk_common sdk_client sdk_storage; do cd $project && cargo build --release && cd .. done # Compiler les projets Node.js for project in sdk_signer sdk_signer_client ihm_client; do cd $project && npm install && npm run build && cd .. done ``` ### Gestion des services ```bash # Arrêter tous les services cd 4NK_node && ./scripts/manage_services.sh stop # Nettoyer l'environnement ./scripts/manage_services.sh clean # Redémarrer les services ./scripts/manage_services.sh start ``` ## 📚 Documentation - [Résultats de compilation](COMPILATION_RESULTS.md) - Statut détaillé de tous les projets - [Modules Docker](docs/modules.md) - Documentation des modules Docker - [Changelog](CHANGELOG.md) - Historique des versions ## 🔧 Scripts utiles - `setup_dev_env.sh` : Configuration de l'environnement de développement - `update_repos.sh` : Mise à jour des dépôts depuis repos.csv - `4NK_node/scripts/manage_services.sh` : Gestion des services Docker ## 📋 Structure des branches - **main** : Branche principale pour 4NK_dev et 4NK_node - **docker-support** : Branche de développement pour les SDKs et clients - **dev** : Branche de développement pour certaines fonctionnalités ## 🤝 Contribution 1. Créer une branche depuis `docker-support` ou `main` selon le projet 2. Développer et tester localement 3. Pousser les modifications sur la branche appropriée 4. Créer une pull request ## 📄 Licence MIT License - voir les fichiers LICENSE individuels dans chaque projet.