4NK_project_template/docs/COMMUNITY_GUIDE.md
2025-08-25 17:27:12 +02:00

402 lines
10 KiB
Markdown

# Guide de la Communauté - 4NK Node
## 🌟 Bienvenue dans la Communauté 4NK Node !
Ce guide vous accompagne dans votre participation à la communauté open source de 4NK Node, une infrastructure complète pour les paiements silencieux Bitcoin.
## 🎯 À Propos de 4NK Node
### **Qu'est-ce que 4NK Node ?**
4NK Node 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 4NK Node ?**
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é 4NK Node ! Votre contribution aide à construire l'avenir des paiements Bitcoin privés et sécurisés.** 🌟