# Règles Cursor pour SDK Relay ## Configuration du Service ### Dépendances - **sdk_common** : Doit être cloné depuis la branche `dev` - **blindbit-oracle** : Service oracle local - **bitcoin-signet** : Nœud Bitcoin Signet ### Dockerfile ```dockerfile # Cloner sdk_common depuis la branche dev (OBLIGATOIRE) RUN --mount=type=ssh git clone -b dev ssh://git@git.4nkweb.com/4nk/sdk_common.git /sdk_common ``` ### Configuration - **Fichier** : `sdk_relay.conf` - **blindbit_url** : `http://blindbit-oracle:8000` ### Variables d'Environnement ```yaml environment: - SDK_RELAY_SCAN_TIMEOUT=300 - SDK_RELAY_STARTUP_MODE=async ``` ### Ports - **8090** : WebSocket server - **8091** : Health server ### Healthcheck ```yaml healthcheck: test: ["CMD", "sh", "-c", "curl -f http://localhost:8091/ | grep -q '\"status\":\"ok\"'"] interval: 15s timeout: 10s retries: 5 start_period: 60s ``` ## Règles de Développement ### Build CI - Le CI doit cloner sdk_common depuis Git (pas de COPY local) - Utiliser la branche `dev` de sdk_common - Vérifier que toutes les features nécessaires sont disponibles ### Problèmes Connus 1. **Scan bloquant** : Le service peut se bloquer pendant le scan des blocs - Solution : Modifier `last_scan` dans `/home/bitcoin/.4nk/default` - Solution : Utiliser des healthchecks avec start_period approprié 2. **Build context** : Le CI échoue si sdk_common n'est pas dans le contexte - Solution : Cloner depuis Git au lieu de COPY local ### Documentation - Mettre à jour docs/CONFIGURATION.md après chaque modification - Documenter les problèmes résolus et leurs solutions - Conserver l'historique des changements ## Historique - Créé le 20/09/2025 - Configuration SDK Relay