Analyse technologique de l'Oracle Machine : exemple de Chainlink
L'Oracle Machine est une infrastructure clé dans le domaine de la blockchain, dont la principale fonction est de fournir des données externes aux contrats intelligents. En tant que pont reliant les contrats intelligents et le monde réel, l'Oracle Machine joue un rôle indispensable dans l'écosystème de la blockchain.
Par exemple, si nous déployons un contrat intelligent sur Ethereum qui nécessite d'obtenir le volume des transactions de pétrole à une date spécifique, comme le contrat lui-même ne peut pas accéder directement aux données hors chaîne, il est alors nécessaire de recourir à l'Oracle Machine. Le processus spécifique est le suivant : le contrat intelligent écrit les informations requises dans le journal des événements, le processus hors chaîne écoute et répond à cette demande, puis transmet les données nécessaires au contrat intelligent par le biais d'une transaction sur la chaîne.
Parmi de nombreux projets d'Oracles, Chainlink se distingue par ses caractéristiques de décentralisation et sa part de marché. Chainlink a construit un mécanisme d'incitation économique grâce au jeton LINK, formant un écosystème en boucle vertueuse. Sa fonction principale repose sur un modèle de demande/réponse basé sur le jeton LINK.
Chainlink utilise la norme ERC677, qui est une extension de l'ERC20, ajoutant la méthode transferAndCall. Cette méthode combine le paiement et la demande de service, répondant mieux aux besoins commerciaux des Oracle Machines. Lorsque l'utilisateur appelle transferAndCall pour effectuer un transfert, en plus du transfert ERC20 habituel, cela déclenche également la méthode onTokenTransfer du contrat récepteur.
Dans le contrat oracle de Chainlink, la méthode onTokenTransfer effectue d'abord une série de vérifications de sécurité, y compris la validation du token transféré, la longueur des données et le sélecteur de fonction, etc. Après vérification, le contrat génère un requestId unique, définit un temps d'expiration et déclenche l'événement OracleRequest. Cet événement contient les détails de la demande, tels que le format des données, l'adresse de rappel, etc.
Après que le nœud hors chaîne ait détecté l'événement OracleRequest, il analysera les informations de la demande, obtiendra les données nécessaires via l'API, puis appellera la méthode fulfillOracleRequest du contrat oracle pour soumettre les données sur la chaîne. Cette méthode effectuera une série de vérifications, puis appellera la fonction de rappel du contrat demandeur, complétant ainsi l'ensemble du processus de service Oracle Machine.
Pour les développeurs, Chainlink propose également un service d'oracle de prix plus pratique. Chaque paire de交易对 a un Price Feed correspondant (c'est-à-dire AggregatorProxy), les développeurs peuvent directement appeler ces contrats pour obtenir les dernières données de prix, sans avoir à spécifier eux-mêmes l'URL de la source de données. Dans la plupart des cas d'utilisation, il suffit d'appeler la méthode latestRoundData() pour obtenir le dernier prix.
Il convient de noter que pour les paires de trading cotées en USD, la précision des prix est généralement uniformisée à 8 décimales, ce qui simplifie le processus de gestion des prix de différents tokens.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
13 J'aime
Récompense
13
4
Partager
Commentaire
0/400
GweiObserver
· 07-12 21:49
link a vraiment du potentiel !
Voir l'originalRépondre0
AirdropHunterXM
· 07-12 21:43
Tu espères encore devenir riche avec link !
Voir l'originalRépondre0
probably_nothing_anon
· 07-12 21:40
J'attends que le lien aille sur la lune, allons-y.
Analyse de la technologie Oracle Machine Chainlink : le pont entre les smart contracts et le monde réel
Analyse technologique de l'Oracle Machine : exemple de Chainlink
L'Oracle Machine est une infrastructure clé dans le domaine de la blockchain, dont la principale fonction est de fournir des données externes aux contrats intelligents. En tant que pont reliant les contrats intelligents et le monde réel, l'Oracle Machine joue un rôle indispensable dans l'écosystème de la blockchain.
Par exemple, si nous déployons un contrat intelligent sur Ethereum qui nécessite d'obtenir le volume des transactions de pétrole à une date spécifique, comme le contrat lui-même ne peut pas accéder directement aux données hors chaîne, il est alors nécessaire de recourir à l'Oracle Machine. Le processus spécifique est le suivant : le contrat intelligent écrit les informations requises dans le journal des événements, le processus hors chaîne écoute et répond à cette demande, puis transmet les données nécessaires au contrat intelligent par le biais d'une transaction sur la chaîne.
Parmi de nombreux projets d'Oracles, Chainlink se distingue par ses caractéristiques de décentralisation et sa part de marché. Chainlink a construit un mécanisme d'incitation économique grâce au jeton LINK, formant un écosystème en boucle vertueuse. Sa fonction principale repose sur un modèle de demande/réponse basé sur le jeton LINK.
Chainlink utilise la norme ERC677, qui est une extension de l'ERC20, ajoutant la méthode transferAndCall. Cette méthode combine le paiement et la demande de service, répondant mieux aux besoins commerciaux des Oracle Machines. Lorsque l'utilisateur appelle transferAndCall pour effectuer un transfert, en plus du transfert ERC20 habituel, cela déclenche également la méthode onTokenTransfer du contrat récepteur.
Dans le contrat oracle de Chainlink, la méthode onTokenTransfer effectue d'abord une série de vérifications de sécurité, y compris la validation du token transféré, la longueur des données et le sélecteur de fonction, etc. Après vérification, le contrat génère un requestId unique, définit un temps d'expiration et déclenche l'événement OracleRequest. Cet événement contient les détails de la demande, tels que le format des données, l'adresse de rappel, etc.
Après que le nœud hors chaîne ait détecté l'événement OracleRequest, il analysera les informations de la demande, obtiendra les données nécessaires via l'API, puis appellera la méthode fulfillOracleRequest du contrat oracle pour soumettre les données sur la chaîne. Cette méthode effectuera une série de vérifications, puis appellera la fonction de rappel du contrat demandeur, complétant ainsi l'ensemble du processus de service Oracle Machine.
Pour les développeurs, Chainlink propose également un service d'oracle de prix plus pratique. Chaque paire de交易对 a un Price Feed correspondant (c'est-à-dire AggregatorProxy), les développeurs peuvent directement appeler ces contrats pour obtenir les dernières données de prix, sans avoir à spécifier eux-mêmes l'URL de la source de données. Dans la plupart des cas d'utilisation, il suffit d'appeler la méthode latestRoundData() pour obtenir le dernier prix.
Il convient de noter que pour les paires de trading cotées en USD, la précision des prix est généralement uniformisée à 8 décimales, ce qui simplifie le processus de gestion des prix de différents tokens.