2025-08-22 12:02:59 +02:00
2025-08-22 12:02:59 +02:00
2025-08-22 12:02:59 +02:00
2025-08-22 12:02:59 +02:00
2025-08-22 12:02:59 +02:00
2025-08-22 12:02:59 +02:00

4NK Node - Infrastructure Docker

Infrastructure Docker complète pour le développement et le déploiement de services 4NK

🏗️ Architecture

4NK Node est composé de plusieurs services orchestrés via Docker Compose :

  • Tor : Proxy anonyme pour Bitcoin Core
  • Bitcoin Core : Nœud Bitcoin en mode signet
  • Blindbit : Service de filtres pour les paiements silencieux
  • sdk_relay : Service de relais pour l'intégration avec les applications

🚀 Démarrage rapide

Prérequis

  • Docker et Docker Compose installés
  • Au moins 10 Go d'espace disque disponible
  • Connexion Internet pour la synchronisation Bitcoin

Installation

# Cloner le repository
git clone https://git.4nkweb.com/4nk/4NK_node.git
cd 4NK_node

# Lancer tous les services
sudo docker-compose up -d

# Vérifier le statut des services
sudo docker-compose ps

Services disponibles

Service Port Description
Tor 9050, 9051 Proxy anonyme
Bitcoin Core 18443 (RPC), 29000 (ZMQ) Nœud Bitcoin signet
Blindbit 8000 Service de filtres
sdk_relay 8090, 8091 Service de relais

📋 Configuration

Bitcoin Core

Configuration automatique pour le réseau signet avec :

  • RPC activé sur le port 18443
  • ZMQ activé sur le port 29000
  • Connexion Tor pour l'anonymat
  • Synchronisation automatique

Blindbit

Service de filtres pour les paiements silencieux :

  • Version stable (branche master)
  • Connexion automatique à Bitcoin Core
  • API REST sur le port 8000

sdk_relay

Service de relais pour l'intégration :

  • Configuration Docker automatique
  • Authentification par cookie Bitcoin Core
  • Connexion aux services via réseau Docker

🔧 Scripts utilitaires

Tests de connectivité

# Test complet de tous les services
cd sdk_relay
./test_final.sh

# Test de connectivité réseau
./test_connectivity.sh

# Test simple
./test_simple.sh

Débogage

# Débogage du container sdk_relay
./debug_container.sh

# Logs des services
sudo docker-compose logs [service_name]

🌐 Réseau Docker

Tous les services communiquent via le réseau 4nk_node_btcnet avec résolution DNS automatique :

  • bitcoin : Bitcoin Core
  • blindbit : Service Blindbit
  • tor : Proxy Tor
  • sdk_relay : Service de relais

📊 Monitoring

Healthchecks

Les services incluent des healthchecks automatiques :

# Vérifier l'état des healthchecks
sudo docker-compose ps

# Logs des healthchecks
sudo docker-compose logs | grep health

Logs

# Logs de tous les services
sudo docker-compose logs -f

# Logs d'un service spécifique
sudo docker-compose logs -f bitcoin
sudo docker-compose logs -f blindbit
sudo docker-compose logs -f sdk_relay

🔒 Sécurité

Authentification

  • Bitcoin Core utilise l'authentification par cookie
  • Les cookies sont automatiquement copiés dans les containers
  • Permissions restrictives sur les fichiers sensibles

Réseau

  • Isolation via réseau Docker
  • Communication interne uniquement
  • Ports exposés limités au minimum nécessaire

🛠️ Développement

Ajout d'un nouveau service

  1. Créer le Dockerfile dans un sous-répertoire
  2. Ajouter le service dans docker-compose.yml
  3. Configurer les dépendances et le réseau
  4. Ajouter les healthchecks si nécessaire

Modification de la configuration

# Modifier la configuration Bitcoin Core
sudo docker-compose down
# Éditer bitcoin/bitcoin.conf
sudo docker-compose up -d bitcoin

# Modifier la configuration Blindbit
# Éditer blindbit/blindbit.toml
sudo docker-compose restart blindbit

📁 Structure des fichiers

lecoffre_node/
├── bitcoin/
│   ├── Dockerfile
│   └── bitcoin.conf
├── blindbit/
│   ├── Dockerfile
│   └── blindbit.toml
├── sdk_relay/
│   ├── Dockerfile
│   ├── .conf.docker
│   └── scripts/
├── tor/
│   ├── Dockerfile
│   └── torrc
├── docker-compose.yml
└── README.md

🚨 Dépannage

Problèmes courants

  1. Ports déjà utilisés

    # Vérifier les ports utilisés
    sudo netstat -tlnp | grep -E "(18443|8000|9050)"
    
    # Arrêter les services conflictuels
    sudo docker-compose down
    
  2. Problèmes de synchronisation Bitcoin

    # Vérifier les logs Bitcoin Core
    sudo docker-compose logs bitcoin
    
    # Redémarrer Bitcoin Core
    sudo docker-compose restart bitcoin
    
  3. Problèmes de connectivité sdk_relay

    # Tester la connectivité
    cd sdk_relay
    ./test_final.sh
    
    # Vérifier la configuration
    ./debug_container.sh
    

Logs détaillés

# Logs avec timestamps
sudo docker-compose logs -t

# Logs des 100 dernières lignes
sudo docker-compose logs --tail=100

# Logs depuis une date
sudo docker-compose logs --since="2024-01-01T00:00:00"

📈 Performance

Ressources recommandées

  • CPU : 2 cœurs minimum, 4 cœurs recommandés
  • RAM : 4 Go minimum, 8 Go recommandés
  • Stockage : 20 Go minimum pour la blockchain signet
  • Réseau : Connexion stable pour la synchronisation

Optimisations

# Limiter l'utilisation CPU
sudo docker-compose up -d --scale bitcoin=1

# Surveiller l'utilisation des ressources
sudo docker stats

🤝 Contribution

  1. Fork le repository
  2. Créer une branche feature (git checkout -b feature/nouvelle-fonctionnalite)
  3. Commit les changements (git commit -am 'Ajout de nouvelle fonctionnalité')
  4. Push la branche (git push origin feature/nouvelle-fonctionnalite)
  5. Créer une Pull Request

📄 Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.

🆘 Support

Pour obtenir de l'aide :

  1. Consulter la documentation
  2. Vérifier les issues existantes
  3. Créer une nouvelle issue avec les détails du problème
  4. Inclure les logs et la configuration utilisée
Description
No description provided
Readme MIT 48 MiB
v1.1.2 Latest
2025-08-27 23:39:40 +00:00
Languages
Shell 96.9%
TypeScript 3.1%