dev4 0f42988408
All checks were successful
build-and-push-ext / build_push (push) Successful in 6s
docs: Documentation API Funds complète
- Ajout de docs/API_FUNDS.md avec documentation complète
- Problèmes résolus documentés (TypeScript, Docker, API 404)
- Tests unitaires et d'intégration documentés
- Configuration Docker socket et CLI documentée
2025-09-20 22:15:02 +00:00

2.4 KiB

API Funds - lecoffre-back-mini

Endpoints disponibles

POST /api/v1/funds/transfer

Transfère automatiquement des fonds du wallet mining vers le relay.

Paramètres :

  • amount (optionnel) : Montant à transférer en BTC (défaut: 0.01)
  • source (optionnel) : Wallet source (défaut: 'mining_mnemonic')
  • target (optionnel) : Wallet cible (défaut: 'default')

Réponse :

{
  "success": true,
  "message": "Transfert de 0.01 BTC réussi",
  "transactionId": "txid...",
  "address": "address...",
  "sourceBalance": 49.99998340,
  "targetBalance": 0.02
}

GET /api/v1/funds/check

Vérifie les fonds du relay et du wallet mining.

Réponse :

{
  "success": true,
  "relay": {
    "outputsCount": 2,
    "balance": 0.02
  },
  "mining": {
    "balance": 49.99998340
  },
  "needsTransfer": false
}

Configuration requise

Docker Socket

Le service nécessite l'accès au Docker socket pour exécuter bitcoin-cli :

volumes:
  - /var/run/docker.sock:/var/run/docker.sock

Docker CLI

Le container inclut docker-cli pour interagir avec Bitcoin Core :

RUN apk add --no-cache docker-cli

Intégration frontend

Détection automatique des fonds insuffisants

Le frontend (ihm_client) détecte automatiquement les fonds insuffisants et déclenche un transfert :

// Dans service.ts
if (insufficientFunds) {
  await this.triggerAutomaticFundsTransfer();
}

API URL

L'API est accessible via Nginx sur :

  • https://dev4.4nkweb.com/api/v1/funds/transfer
  • https://dev4.4nkweb.com/api/v1/funds/check

Tests

Tests unitaires

npm run test:funds

Tests d'intégration

npm run test:integration

Problèmes résolus

1. TypeScript compilation errors

Problème : Erreurs de compilation TypeScript dans funds.routes.ts.

Solution :

  • Ajout de Promise<void> aux signatures de fonctions
  • Correction du type error avec instanceof Error
  • Ajout de return; après les réponses

2. Docker daemon access

Problème : Cannot connect to the Docker daemon.

Solution : Ajout du volume Docker socket dans docker-compose.yml.

3. API endpoint 404

Problème : L'endpoint /api/v1/funds/transfer retournait 404.

Solution :

  • Rebuild de l'image Docker
  • Correction de l'URL dans le frontend
  • Configuration Nginx pour /api/v1/funds/

Date de mise à jour

2025-01-20 - API funds implémentée et testée