Analyse technique de l'Oracle Machine : exemple de Chainlink
Dans l'écosystème blockchain, l'Oracle Machine joue un rôle crucial, c'est le pont qui relie les contrats intelligents au monde extérieur. La principale fonction de l'Oracle Machine est de fournir des données hors chaîne aux contrats intelligents sur la blockchain, permettant ainsi aux contrats d'accéder et de traiter des informations du monde réel.
Prenons un exemple, supposons que nous avons déployé un contrat intelligent sur le réseau Ethereum qui nécessite d'accéder aux données de volume de transactions de pétrole brut pour un jour donné. Étant donné que le contrat intelligent lui-même ne peut pas accéder directement aux données hors chaîne, un Oracle Machine est nécessaire pour aider. Le contrat écrira les informations requises dans le journal des événements, puis le processus hors chaîne écoutera ce journal. Lorsqu'il détecte une demande, ce processus appellera la méthode associée au contrat en soumettant une transaction sur la chaîne, pour transmettre les données de volume de transactions de pétrole brut pour la date spécifiée au contrat intelligent.
Parmi de nombreux projets d'Oracle Machine, Chainlink détient la plus grande part de marché. Chainlink est un réseau d'Oracle Machine décentralisé, conçu pour fournir des données du monde réel à la blockchain de manière sécurisée et fiable. Il a construit un écosystème basé sur des incitations économiques autour du jeton LINK, fondé sur les principes de base des Oracle Machines. Le déclenchement des Oracle Machines Chainlink nécessite un transfert de jetons LINK, qui est un type de jeton ERC677 spécial sur le réseau Ethereum.
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, unifiant ainsi le paiement et la demande de service. Lorsque l'utilisateur appelle transferAndCall pour effectuer un transfert, en plus de compléter la fonction de transfert ERC20, si l'adresse de réception est une adresse de contrat, la méthode onTokenTransfer de cette adresse sera également appelée.
Dans la conception de Chainlink, la méthode onTokenTransfer du contrat Oracle Machine vérifie d'abord si le transfert concerne le jeton LINK, puis elle vérifie la validité des données de la demande. Après une série de vérifications de sécurité, le contrat émet un événement OracleRequest, qui contient les détails de la demande.
Les nœuds hors chaîne écouteront ces événements OracleRequest. Lorsqu'une nouvelle demande est détectée, le nœud analysera les données de l'événement, obtiendra les informations nécessaires via un appel API, puis en soumettant une transaction, appellera la méthode fulfillOracleRequest du contrat Oracle Machine pour soumettre les données sur la chaîne. Cette méthode renverra le résultat à l'adresse de rappel et à la fonction précédemment enregistrées au contrat demandeur après avoir effectué une série de vérifications.
Pour les développeurs, s'ils ont simplement besoin d'obtenir les données de prix des paires de devises existantes, ils peuvent directement utiliser l'interface Price Feed fournie par Chainlink. Chaque paire de trading dispose d'un Price Feed distinct (également appelé Agrégateur), qui est en réalité un contrat AggregatorProxy. Ces interfaces offrent plusieurs méthodes clés de requête, y compris l'obtention de la précision des prix, la description des paires de trading, les informations sur la version, ainsi que l'obtention des données de prix historiques et des données de prix les plus récentes en fonction de l'ID de ronde.
Dans la plupart des cas d'utilisation, le contrat peut simplement avoir besoin de lire le prix le plus récent. En appelant la méthode latestRoundData(), vous pouvez obtenir les dernières données de prix, où le paramètre answer est le dernier prix. Il convient de noter que la plupart des paires de trading libellées en dollars ont une précision de prix uniformément fixée à 8 décimales, ce qui simplifie le problème de traitement de la précision entre différents tokens.
De cette manière, Chainlink offre une solution d'Oracle Machine puissante et flexible pour le monde de la blockchain, permettant aux contrats intelligents d'accéder et d'utiliser en toute sécurité et fiabilité des données hors chaîne.
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.
9 J'aime
Récompense
9
6
Partager
Commentaire
0/400
Blockwatcher9000
· 07-29 21:58
Il est normal d'avoir confiance en link.
Voir l'originalRépondre0
SchroedingerMiner
· 07-29 21:58
C'est tout simplement un péage de pont.
Voir l'originalRépondre0
metaverse_hermit
· 07-29 21:55
link le premier du monde!
Voir l'originalRépondre0
GateUser-9ad11037
· 07-29 21:53
l'écosystème Link est assez impressionnant récemment.
Voir l'originalRépondre0
HypotheticalLiquidator
· 07-29 21:52
Oracle Machine existe également des risques de contrôle des données. Qui sera le premier à exploser dans cette grande chute ?
Chainlink Oracle Machine : un pont entre les smart contracts et le monde réel
Analyse technique de l'Oracle Machine : exemple de Chainlink
Dans l'écosystème blockchain, l'Oracle Machine joue un rôle crucial, c'est le pont qui relie les contrats intelligents au monde extérieur. La principale fonction de l'Oracle Machine est de fournir des données hors chaîne aux contrats intelligents sur la blockchain, permettant ainsi aux contrats d'accéder et de traiter des informations du monde réel.
Prenons un exemple, supposons que nous avons déployé un contrat intelligent sur le réseau Ethereum qui nécessite d'accéder aux données de volume de transactions de pétrole brut pour un jour donné. Étant donné que le contrat intelligent lui-même ne peut pas accéder directement aux données hors chaîne, un Oracle Machine est nécessaire pour aider. Le contrat écrira les informations requises dans le journal des événements, puis le processus hors chaîne écoutera ce journal. Lorsqu'il détecte une demande, ce processus appellera la méthode associée au contrat en soumettant une transaction sur la chaîne, pour transmettre les données de volume de transactions de pétrole brut pour la date spécifiée au contrat intelligent.
Parmi de nombreux projets d'Oracle Machine, Chainlink détient la plus grande part de marché. Chainlink est un réseau d'Oracle Machine décentralisé, conçu pour fournir des données du monde réel à la blockchain de manière sécurisée et fiable. Il a construit un écosystème basé sur des incitations économiques autour du jeton LINK, fondé sur les principes de base des Oracle Machines. Le déclenchement des Oracle Machines Chainlink nécessite un transfert de jetons LINK, qui est un type de jeton ERC677 spécial sur le réseau Ethereum.
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, unifiant ainsi le paiement et la demande de service. Lorsque l'utilisateur appelle transferAndCall pour effectuer un transfert, en plus de compléter la fonction de transfert ERC20, si l'adresse de réception est une adresse de contrat, la méthode onTokenTransfer de cette adresse sera également appelée.
Dans la conception de Chainlink, la méthode onTokenTransfer du contrat Oracle Machine vérifie d'abord si le transfert concerne le jeton LINK, puis elle vérifie la validité des données de la demande. Après une série de vérifications de sécurité, le contrat émet un événement OracleRequest, qui contient les détails de la demande.
Les nœuds hors chaîne écouteront ces événements OracleRequest. Lorsqu'une nouvelle demande est détectée, le nœud analysera les données de l'événement, obtiendra les informations nécessaires via un appel API, puis en soumettant une transaction, appellera la méthode fulfillOracleRequest du contrat Oracle Machine pour soumettre les données sur la chaîne. Cette méthode renverra le résultat à l'adresse de rappel et à la fonction précédemment enregistrées au contrat demandeur après avoir effectué une série de vérifications.
Pour les développeurs, s'ils ont simplement besoin d'obtenir les données de prix des paires de devises existantes, ils peuvent directement utiliser l'interface Price Feed fournie par Chainlink. Chaque paire de trading dispose d'un Price Feed distinct (également appelé Agrégateur), qui est en réalité un contrat AggregatorProxy. Ces interfaces offrent plusieurs méthodes clés de requête, y compris l'obtention de la précision des prix, la description des paires de trading, les informations sur la version, ainsi que l'obtention des données de prix historiques et des données de prix les plus récentes en fonction de l'ID de ronde.
Dans la plupart des cas d'utilisation, le contrat peut simplement avoir besoin de lire le prix le plus récent. En appelant la méthode latestRoundData(), vous pouvez obtenir les dernières données de prix, où le paramètre answer est le dernier prix. Il convient de noter que la plupart des paires de trading libellées en dollars ont une précision de prix uniformément fixée à 8 décimales, ce qui simplifie le problème de traitement de la précision entre différents tokens.
De cette manière, Chainlink offre une solution d'Oracle Machine puissante et flexible pour le monde de la blockchain, permettant aux contrats intelligents d'accéder et d'utiliser en toute sécurité et fiabilité des données hors chaîne.