Skip to content

Industrialiser un accès blockchain en service containerisé

Pour la plateforme Share3, passer d'un accès RPC direct, fragile et non maîtrisé, à un service Docker autonome avec cache, protection contre les abus et supervision intégrée.

Client
Share3 : produit propre
Période
2024 – aujourd'hui
Secteur
Blockchain / Infrastructure

Architecture & industrialisation

3

réseaux servis (mainnet, devnet, testnet)

30 s

intervalle de contrôle de santé

auto

redémarrage et rotation des logs

Le problème de départ

Interroger une blockchain directement depuis une application pose trois problèmes concrets : les endpoints publics sont limités en débit et tombent sans prévenir, les mêmes requêtes sont refaites en boucle inutilement, et aucun garde-fou n'empêche une application boguée de saturer l'accès. Sans couche intermédiaire, chaque application doit réinventer ces protections.

L'approche retenue

Placer un proxy entre les applications et le réseau, puis l'industrialiser : le rendre autonome, supervisé, redémarrable et déployable en une commande, bref, le traiter comme un composant d'infrastructure et non comme un script.

Ce que j'ai mis en place

  • Un proxy RPC complet avec cache des requêtes fréquentes pour absorber la charge répétitive
  • Une limitation de débit par IP et un support de clés API pour maîtriser les usages
  • Le regroupement de requêtes (batch) pour réduire le nombre d'allers-retours réseau
  • Une containerisation Docker avec politique de redémarrage automatique
  • Un contrôle de santé (healthcheck) toutes les 30 secondes sur un endpoint dédié
  • Une rotation des logs bornée (3 fichiers de 10 Mo) pour éviter la saturation disque
  • Un réseau Docker isolé et un tableau de bord web de supervision
  • Un client JavaScript prêt à l'emploi pour les applications consommatrices

Les résultats

  • Un point d'accès unique et stable pour toutes les applications, au lieu d'appels directs dispersés
  • Charge réseau réduite grâce au cache et au regroupement de requêtes
  • Protection contre la saturation accidentelle par une application défaillante
  • Service auto-réparant : détection de panne et redémarrage sans intervention
  • Déploiement reproductible en une commande, sur n'importe quel serveur

Stack technique

  • Docker
  • Docker Compose
  • Node.js
  • JSON-RPC
  • Solana
  • Nginx
  • Healthchecks

Un projet similaire ?

Parlons de votre contexte et voyons comment je peux vous aider.

Me contacter