# Guide de la Communauté - sdk_client ## 🌟 Bienvenue dans la Communauté sdk_client ! Ce guide vous accompagne dans votre participation à la communauté open source de sdk_client, une infrastructure complète pour les paiements silencieux Bitcoin. ## 🎯 À Propos de sdk_client ### **Qu'est-ce que sdk_client ?** sdk_client est une infrastructure Docker complète qui permet de déployer et gérer facilement un écosystème Bitcoin complet incluant : - **Bitcoin Core** : Nœud Bitcoin avec support signet - **Blindbit** : Service de filtres pour les paiements silencieux - **SDK Relay** : Système de relais avec synchronisation mesh - **Tor** : Proxy anonyme pour la confidentialité ### **Pourquoi les Paiements Silencieux ?** Les paiements silencieux (Silent Payments) sont une innovation Bitcoin qui améliore la confidentialité en permettant de créer des adresses uniques pour chaque transaction, sans révéler de liens entre les paiements. ## 🤝 Comment Contribuer ### **Niveaux de Contribution** #### 🟢 **Débutant** - **Documentation** : Améliorer les guides, corriger les fautes - **Tests** : Ajouter des tests, signaler des bugs - **Support** : Aider les autres utilisateurs - **Traduction** : Traduire la documentation #### 🟡 **Intermédiaire** - **Fonctionnalités** : Implémenter de nouvelles fonctionnalités - **Optimisations** : Améliorer les performances - **Tests avancés** : Tests d'intégration et de performance - **Outils** : Créer des scripts et outils #### 🔴 **Avancé** - **Architecture** : Améliorer l'architecture du système - **Sécurité** : Audits de sécurité, améliorations - **Core features** : Fonctionnalités principales - **Mentorat** : Guider les nouveaux contributeurs ### **Premiers Pas** #### 1. **Fork et Clone** ```bash # Fork le repository sur Gitea # Puis clonez votre fork git clone https://git.4nkweb.com/votre-username/4NK_node.git cd 4NK_node # Ajoutez l'upstream git remote add upstream https://git.4nkweb.com/4nk/4NK_node.git ``` #### 2. **Installation Locale** ```bash # Installez l'infrastructure ./restart_4nk_node.sh # Vérifiez que tout fonctionne docker ps ``` #### 3. **Exploration** ```bash # Explorez la documentation ls docs/ cat docs/INDEX.md # Exécutez les tests ./tests/run_all_tests.sh ``` ## 📚 Ressources d'Apprentissage ### **Documentation Essentielle** #### **Pour Commencer** - **[Guide d'Installation](docs/INSTALLATION.md)** - Installation complète - **[Guide d'Utilisation](docs/USAGE.md)** - Utilisation quotidienne - **[Guide de Configuration](docs/CONFIGURATION.md)** - Configuration avancée #### **Pour Développer** - **[Architecture Technique](docs/ARCHITECTURE.md)** - Architecture détaillée - **[API Reference](docs/API.md)** - Documentation des APIs - **[Guide de Tests](docs/TESTING.md)** - Tests et validation #### **Pour Contribuer** - **[Guide de Contribution](CONTRIBUTING.md)** - Processus de contribution - **[Code de Conduite](CODE_OF_CONDUCT.md)** - Règles de la communauté - **[Politique de Sécurité](SECURITY.md)** - Signalement de vulnérabilités ### **Ressources Externes** #### **Bitcoin et Paiements Silencieux** - [Bitcoin.org](https://bitcoin.org/) - Documentation Bitcoin officielle - [BIP 352](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki) - Spécification des paiements silencieux - [Bitcoin Core Documentation](https://bitcoincore.org/en/doc/) - Documentation Bitcoin Core #### **Technologies Utilisées** - [Docker Documentation](https://docs.docker.com/) - Guide Docker - [Rust Book](https://doc.rust-lang.org/book/) - Guide Rust - [WebSocket RFC](https://tools.ietf.org/html/rfc6455) - Spécification WebSocket ## 🛠️ Environnement de Développement ### **Prérequis** #### **Système** ```bash # Ubuntu/Debian sudo apt update sudo apt install docker.io docker-compose git curl # CentOS/RHEL sudo yum install docker docker-compose git curl # macOS brew install docker docker-compose git curl ``` #### **Développement** ```bash # Rust (pour sdk_relay) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Python (pour les tests) sudo apt install python3 python3-pip pip3 install websockets requests ``` ### **Configuration de Développement** #### **Variables d'Environnement** ```bash # Configuration de développement export RUST_LOG=debug export ENABLE_SYNC_TEST=1 export BITCOIN_NETWORK=signet ``` #### **Outils de Développement** ```bash # Linting et formatting cargo clippy cargo fmt # Tests cargo test ./tests/run_all_tests.sh # Build cargo build --release ``` ## 🐛 Signaler un Bug ### **Avant de Signaler** 1. **Vérifiez la documentation** - La solution pourrait déjà être documentée 2. **Recherchez les issues existantes** - Le bug pourrait déjà être signalé 3. **Testez sur la dernière version** - Le bug pourrait déjà être corrigé ### **Template de Bug Report** Utilisez le template fourni dans Gitea ou suivez cette structure : ```markdown ## Description du Bug Description claire et concise du problème. ## Étapes pour Reproduire 1. Aller à '...' 2. Cliquer sur '...' 3. Faire défiler jusqu'à '...' 4. Voir l'erreur ## Comportement Attendu Description de ce qui devrait se passer. ## Comportement Actuel Description de ce qui se passe actuellement. ## Informations Système - OS: [ex: Ubuntu 20.04] - Docker: [ex: 20.10.0] - Version: [ex: v1.0.0] ## Logs ``` Logs pertinents ici ``` ``` ## 💡 Proposer une Fonctionnalité ### **Avant de Proposer** 1. **Vérifiez la roadmap** - La fonctionnalité pourrait déjà être planifiée 2. **Discutez avec la communauté** - Utilisez les discussions Gitea 3. **Préparez un prototype** - Montrez que c'est faisable ### **Template de Feature Request** ```markdown ## Résumé Description claire et concise de la fonctionnalité souhaitée. ## Motivation Pourquoi cette fonctionnalité est-elle nécessaire ? ## Proposition Description détaillée de la fonctionnalité proposée. ## Alternatives Considérées Autres solutions envisagées. ## Exemples d'Utilisation Comment cette fonctionnalité serait-elle utilisée ? ``` ## 🔄 Processus de Contribution ### **Workflow Git** #### 1. **Créer une Branche** ```bash # Depuis la branche main git checkout main git pull upstream main # Créer une branche pour votre contribution git checkout -b feature/nom-de-votre-feature # ou git checkout -b fix/nom-du-bug ``` #### 2. **Développer** ```bash # Développez votre fonctionnalité # Ajoutez des tests # Mettez à jour la documentation # Commitez régulièrement git add . git commit -m "feat: ajouter nouvelle fonctionnalité" ``` #### 3. **Tester** ```bash # Exécutez les tests ./tests/run_all_tests.sh # Vérifiez le code cargo clippy cargo fmt --check ``` #### 4. **Soumettre** ```bash # Poussez vers votre fork git push origin feature/nom-de-votre-feature # Créez une Pull Request sur Gitea ``` ### **Standards de Code** #### **Messages de Commit** Utilisez le format conventionnel : ```bash feat(sdk_relay): add new sync type for metrics fix(bitcoin): resolve connection timeout issue docs(api): update WebSocket message format test(integration): add multi-relay sync tests ``` #### **Code Style** - **Rust** : Suivez les conventions Rust (rustfmt, clippy) - **Bash** : Utilisez shellcheck pour les scripts - **Python** : Suivez PEP 8 - **Markdown** : Utilisez un linter markdown ## 🏷️ Labels et Milestones ### **Labels Utilisés** #### **Type** - `bug` - Problèmes et bugs - `enhancement` - Nouvelles fonctionnalités - `documentation` - Amélioration de la documentation - `good first issue` - Pour les nouveaux contributeurs - `help wanted` - Besoin d'aide #### **Priorité** - `priority: high` - Priorité élevée - `priority: medium` - Priorité moyenne - `priority: low` - Priorité basse #### **Statut** - `status: blocked` - Bloqué - `status: in progress` - En cours - `status: ready for review` - Prêt pour review ### **Milestones** - **v1.0.0** - Version stable initiale - **v1.1.0** - Améliorations et corrections - **v2.0.0** - Nouvelles fonctionnalités majeures ## 🎉 Reconnaissance ### **Hall of Fame** Les contributeurs significatifs seront reconnus dans : - **README.md** - Liste des contributeurs - **CHANGELOG.md** - Mentions dans les releases - **Documentation** - Crédits dans les guides - **Site web** - Page dédiée aux contributeurs ### **Badges et Certifications** - **Contributeur Bronze** : 1-5 contributions - **Contributeur Argent** : 6-20 contributions - **Contributeur Or** : 21+ contributions - **Maintainer** : Responsabilités de maintenance ## 🆘 Besoin d'Aide ? ### **Canaux de Support** #### **Issues Gitea** - **Bugs** : [Issues](https://git.4nkweb.com/4nk/4NK_node/issues?q=is%3Aissue+is%3Aopen+label%3Abug) - **Fonctionnalités** : [Feature Requests](https://git.4nkweb.com/4nk/4NK_node/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement) #### **Discussions** - **Questions générales** : [Discussions](https://git.4nkweb.com/4nk/4NK_node/issues) - **Aide technique** : [Support](https://git.4nkweb.com/4nk/4NK_node/issues/new) #### **Contact Direct** - **Email** : support@4nkweb.com - **Sécurité** : security@4nkweb.com ### **FAQ** #### **Questions Fréquentes** **Q: Comment installer sdk_client ?** A: Suivez le [Guide d'Installation](docs/INSTALLATION.md) **Q: Comment contribuer au code ?** A: Consultez le [Guide de Contribution](CONTRIBUTING.md) **Q: Comment signaler un bug de sécurité ?** A: Contactez security@4nkweb.com (NE PAS créer d'issue publique) **Q: Comment proposer une nouvelle fonctionnalité ?** A: Créez une issue avec le label `enhancement` ## 🚀 Projets Futurs ### **Roadmap Communautaire** #### **Court Terme (1-3 mois)** - Interface utilisateur web - Support de nouveaux réseaux Bitcoin - Amélioration de la documentation - Tests de performance #### **Moyen Terme (3-6 mois)** - Support Lightning Network - API REST complète - Monitoring avancé - Déploiement cloud #### **Long Terme (6-12 mois)** - Écosystème complet - Marketplace d'extensions - Support multi-blockchains - IA et automatisation ### **Idées de Contribution** #### **Fonctionnalités Populaires** - Interface graphique pour la gestion - Intégration avec des wallets populaires - Support de nouveaux types de paiements - Outils de monitoring avancés #### **Améliorations Techniques** - Optimisation des performances - Amélioration de la sécurité - Support de nouvelles plateformes - Tests automatisés avancés --- **Merci de faire partie de la communauté sdk_client ! Votre contribution aide à construire l'avenir des paiements Bitcoin privés et sécurisés.** 🌟