404 lines
10 KiB
Markdown
404 lines
10 KiB
Markdown
# 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.** 🌟
|
|
|
|
|