Analyse approfondie de Chainlink : comment les Oracles injectent des données réelles dans les smart contracts

Analyse de la technologie Oracle Machine : exploration approfondie du mécanisme de fonctionnement de Chainlink

L'Oracle Machine est une infrastructure indispensable dans l'écosystème blockchain, servant de pont entre les contrats intelligents et le monde extérieur. En tant que middleware, la principale responsabilité de l'Oracle Machine est de fournir des données et des informations provenant de l'extérieur de la chaîne aux contrats intelligents sur la blockchain.

Oracle Machine详解系列之 Chainlink(上)

Les contrats intelligents sur le réseau Ethereum ne peuvent pas accéder directement aux données du monde réel. Par exemple, pour créer un contrat nécessitant des données sur le volume des transactions de pétrole à une date spécifique, il faut recourir à la puissance de l'Oracle Machine. Dans ce cas, le contrat intelligent écrira les informations requises dans le journal des événements. Ensuite, un processus hors chaîne surveillera ces journaux et, dès qu'il détectera une demande pertinente, il appellera la méthode correspondante du contrat en soumettant une transaction sur la chaîne, transférant les informations sur le volume des transactions de pétrole à la date spécifiée dans le contrat intelligent.

Oracle Machine详解系列之 Chainlink(上)

Parmi les nombreux projets d'Oracles, Chainlink se distingue par sa décentralisation et sa large part de marché. Chainlink ne se limite pas à la fonctionnalité de base des oracles, mais a également construit un écosystème motivé par des incitations économiques autour du token LINK. Le mécanisme de déclenchement des oracles Chainlink repose sur le transfert de tokens LINK, et cette fonctionnalité d'oracle basée sur le token LINK ERC677 appartient au modèle de demande/réponse.

Oracle Machine详解系列之 Chainlink(上)

La norme ERC677 a été proposée par Chainlink pour répondre aux scénarios de services d'Oracle Machine. Elle ajoute la méthode transferAndCall à la norme ERC20, combinant paiement et demande de service en un seul. Lorsqu'un utilisateur effectue un transfert via transferAndCall, en plus du transfert ERC20 habituel, il vérifie si l'adresse de réception est une adresse de contrat. Si c'est le cas, il appelle la méthode onTokenTransfer de cette adresse.

Oracle Machine détaillé série sur Chainlink (partie 1)

Avant de demander des services d'Oracle Machine, les utilisateurs doivent confirmer la fiabilité de l'Oracle Machine. La fiabilité de l'Oracle Machine peut être évaluée en fonction de plusieurs facteurs, y compris les performances historiques, la qualité des sources de données et la réputation dans le réseau.

Oracle Machine détaillé série sur Chainlink (partie 1)

Lorsque l'Oracle Machine reçoit une demande de service, elle vérifie d'abord si le transfert est un jeton LINK, puis elle vérifie la légitimité des données de la demande. Après une série de contrôles de sécurité, l'Oracle Machine émettra un événement OracleRequest, qui contient les détails de la demande.

Oracle Machine详解系列之 Chainlink(上)

Les nœuds hors chaîne écouteront ces événements, analyseront les informations de demande, puis récupéreront les données nécessaires via des appels API. Après avoir obtenu les données, le nœud soumettra les données sur la chaîne en appelant la méthode fulfillOracleRequest du contrat Oracle Machine. Ce processus inclut de multiples vérifications pour garantir l'exactitude et la sécurité des données.

Oracle Machine détaillé série sur Chainlink (Partie 1)

Enfin, le contrat Oracle renverra les résultats au contrat du demandeur via l'adresse de rappel et la fonction enregistrées précédemment. Ainsi, le contrat intelligent peut obtenir les données externes dont il a besoin.

Oracle Machine détaillé série de Chainlink (1)

Pour les développeurs, Chainlink offre également un moyen plus simple d'obtenir des données de prix courantes. Chaque paire de trading dispose d'un Price Feed dédié (également appelé Agrégateur). Ces Price Feeds fournissent plusieurs méthodes de requête, y compris l'obtention de la précision des prix, la description des paires de trading, les informations de version et les dernières données de prix.

Oracle Machine détaillé série Chainlink (Partie 1)

Dans la plupart des cas d'application, le contrat n'a besoin que de lire le dernier prix. Il est à noter que pour les paires de trading libellées en dollars, la précision des prix est généralement uniformisée à 8 décimales, ce qui simplifie les problèmes de traitement de la précision entre différents jetons.

Oracle Machine详解系列之 Chainlink(上)

De cette manière, Chainlink non seulement fournit des services d'Oracle Machine flexibles, mais offre également aux développeurs une interface pratique, rendant l'intégration de données externes dans les applications blockchain plus simple et efficace.

Oracle Machine详解系列之 Chainlink(上)

LINK-0.74%
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • 5
  • Partager
Commentaire
0/400
rekt_but_not_brokevip
· Il y a 12h
Oracle Machine ? Avec Iron Earn, c'est réglé.
Voir l'originalRépondre0
BTCBeliefStationvip
· Il y a 12h
Il n'est pas utile de parler trop, il suffit de se souvenir de Chain Dog.
Voir l'originalRépondre0
MetaverseLandladyvip
· Il y a 12h
link poisson faits surprenants à savoir tôt
Voir l'originalRépondre0
HorizonHuntervip
· Il y a 12h
LINK infrastructure est toujours le plus stable
Voir l'originalRépondre0
RektButSmilingvip
· Il y a 12h
link le premier du monde, tu comprends ou pas ?
Voir l'originalRépondre0
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)