
- Ajout du README.md principal avec architecture et guide d'utilisation - Mise à jour de docs/modules.md avec les nouveaux scripts de gestion - Documentation de la migration WASM et de l'état actuel des projets - Guides d'installation et de développement pour tous les composants
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
# Cloner le dépôt
git clone <repository-url>
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
(remplacezstd
) - sdk_client : 🔄 Stub WASM temporaire avec
flate2
(en attente de migration complète) - sdk_signer : ✅ Compatible avec le stub WASM
Migration en cours
- Phase 1 : ✅ Migration
sdk_common
versflate2
- Phase 2 : 🔄 Migration
sdk_client
versk256
etflate2
- Phase 3 : ⏳ Intégration complète WASM
- Phase 4 : ⏳ Déploiement
🛠️ Développement
Compilation des projets
# 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
# 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 - Statut détaillé de tous les projets
- Modules Docker - Documentation des modules Docker
- Changelog - Historique des versions
🔧 Scripts utiles
setup_dev_env.sh
: Configuration de l'environnement de développementupdate_repos.sh
: Mise à jour des dépôts depuis repos.csv4NK_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
- Créer une branche depuis
docker-support
oumain
selon le projet - Développer et tester localement
- Pousser les modifications sur la branche appropriée
- Créer une pull request
📄 Licence
MIT License - voir les fichiers LICENSE individuels dans chaque projet.
Description
Languages
Shell
100%