Développement6 juillet 2026· via DEV Community

Fonctions Chainlink décryptées : au-delà des appels API vers un calcul serverless décentra

Fonctions Chainlink décryptées : au-delà des appels API vers un calcul serverless décentra

Image : DEV Community

Chainlink Functions n’est pas une simple méthode pour que les contrats intelligents récupèrent des données via des API : c’est une plateforme de calcul serverless entièrement décentralisée où du JavaScript arbitraire s’exécute sur un réseau d’oracles distribués. Les résultats, validés par consensus, sont ensuite renvoyés au contrat d’origine.

Fonctionnement détaillé : de la demande à la réponse

Le système repose sur quatre contrats clés, chacun avec une fonction précise. Le FunctionsRouter sert de point d’entrée stable pour les contrats consommateurs : il gère les abonnements et la facturation sans jamais modifier son interface, même lors de mises à jour logiques. Le FunctionsCoordinator fait le pont entre le Router et le réseau d’oracles décentralisé (DON), émettant des événements surveillés par les nœuds et distribuant les frais aux transmetteurs. Les contrats consommateurs héritent quant à eux du FunctionsClient, un contrat de base qui gère correctement le retour d’appel — omettre cette étape risque d’introduire des bogues dans les intégrations personnalisées. Enfin, votre contrat consommateur appelle sendRequest sur le Router et implémente fulfillRequest pour recevoir le résultat traité.

Cycle complet d’une demande : étape par étape

Quand votre contrat initie une demande, le parcours commence par sendRequest, qui transmet du code JavaScript (ou une référence à un code préchargé), un identifiant d’abonnement pour le paiement, une limite de gaz pour le callback, ainsi que d’éventuels arguments de script. Le Router estime ensuite le coût total de traitement en LINK, en tenant compte du prix actuel du gaz, de la surcharge contractuelle, de votre limite de gaz pour le callback et du flux de prix ETH/LINK. Il réserve le montant estimé depuis le solde de votre abonnement — en cas de fonds insuffisants, la demande échoue immédiatement.

Une fois la facturation sécurisée, le Router transmet la demande au FunctionsCoordinator, qui émet un événement OracleRequest. Les nœuds du DON — exécutant le JavaScript de manière indépendante — traitent la demande, dont les résultats sont agrégés via un rapport hors chaîne (OCR) pour validation par consensus. Ce n’est qu’après vérification que la sortie agrégée est renvoyée à votre contrat via un callback vérifié, bouclant le cycle avec des garanties de sécurité qu’aucun proxy d’API centralisé ne peut égaler.


Source : DEV Community. Synthèse éditoriale assistée par IA — TechnoExpress.

Lire la source originale sur DEV Community →

← Retour à l'accueil