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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
8 J'aime
Récompense
8
5
Partager
Commentaire
0/400
rekt_but_not_broke
· Il y a 12h
Oracle Machine ? Avec Iron Earn, c'est réglé.
Voir l'originalRépondre0
BTCBeliefStation
· Il y a 12h
Il n'est pas utile de parler trop, il suffit de se souvenir de Chain Dog.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.