**Motivations :** * transaction_id doit être un identifiant de transaction Bitcoin consultable sur mempool * Les UUID n'ont pas d'utilité pour identifier une transaction Bitcoin * Simplification de l'architecture en supprimant la logique de queue inutile **Root causes :** * transaction_id était généré comme UUID au lieu d'utiliser le txid Bitcoin * Logique de queue/job complexe pour gérer des identifiants temporaires * Réponse HTTP 202 alors que la transaction est créée immédiatement **Correctifs :** * transaction_id est maintenant directement le txid Bitcoin (64 hex) * Suppression complète de la logique de queue et de job (Map, cleanup, etc.) * Création immédiate de la transaction Bitcoin dans enqueue() * getStatus() interroge directement Bitcoin au lieu d'une Map en mémoire * Réponse HTTP 200 OK au lieu de 202 Accepted * Suppression de la dépendance uuid (plus utilisée) **Evolutions :** * API simplifiée : plus de queue, transactions créées directement * transaction_id consultable immédiatement sur mempool * Documentation complète des réponses JSON (API_RESPONSES.md) * Scripts de test mis à jour pour valider le format txid Bitcoin **Page affectées :** * src/services/AnchorQueueService.ts : refactor complet, suppression queue * src/controllers/AnchorController.ts : mise à jour pour txid, status 200 * src/index.ts : suppression cleanup périodique * test-api-ok.sh : validation format txid, status 200 * test-api.sh : validation format txid, status 200 * README.md : mise à jour exemples avec txid Bitcoin * API_RESPONSES.md : nouvelle documentation complète des réponses JSON
48 lines
1.1 KiB
JSON
48 lines
1.1 KiB
JSON
{
|
|
"name": "lecoffre-anchor-api",
|
|
"version": "1.0.0",
|
|
"description": "API d'ancrage Bitcoin Signet pour LeCoffre.io - déployée sur dev3.4nkweb.com",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"start": "node dist/index.js",
|
|
"dev": "ts-node-dev --respawn --transpile-only src/index.ts",
|
|
"build": "tsc",
|
|
"lint": "eslint src --ext .ts",
|
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
},
|
|
"keywords": [
|
|
"bitcoin",
|
|
"anchoring",
|
|
"blockchain",
|
|
"signet",
|
|
"lecoffre"
|
|
],
|
|
"author": "4nk",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"express": "^4.18.2",
|
|
"cors": "^2.8.5",
|
|
"helmet": "^7.1.0",
|
|
"express-rate-limit": "^7.1.5",
|
|
"axios": "^1.6.5",
|
|
"winston": "^3.11.0",
|
|
"dotenv": "^16.3.1",
|
|
"uuid": "^9.0.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/express": "^4.17.21",
|
|
"@types/cors": "^2.8.17",
|
|
"@types/node": "^20.10.6",
|
|
"@types/uuid": "^9.0.7",
|
|
"typescript": "^5.3.3",
|
|
"ts-node-dev": "^2.0.0",
|
|
"eslint": "^8.56.0",
|
|
"@typescript-eslint/eslint-plugin": "^6.17.0",
|
|
"@typescript-eslint/parser": "^6.17.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18.0.0"
|
|
}
|
|
}
|
|
|