
All checks were successful
build-and-push-ext / build_push (push) Successful in 6s
- 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
2.4 KiB
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
avecinstanceof 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