Analyse technique de l'Oracle Machine : exemple avec Chainlink
L'Oracle Machine est une infrastructure clé dans le domaine de la blockchain, elle peut fournir des informations de données externes aux contrats intelligents. En tant que middleware reliant les contrats intelligents et le monde extérieur, la principale fonction de l'Oracle Machine est de fournir les données externes nécessaires aux contrats intelligents sur la blockchain.
Prenons un exemple, supposons que nous créions un contrat intelligent sur le réseau Ethereum qui nécessite des données de volume de transaction de pétrole brut pour un jour donné. Comme le contrat intelligent lui-même ne peut pas obtenir directement ces données réelles hors chaîne, il est alors nécessaire de passer par une Oracle Machine pour le réaliser. Le processus spécifique est le suivant : le contrat intelligent écrit le volume de transaction de pétrole brut requis pour la date souhaitée dans le journal des événements, puis un processus hors chaîne démarre pour surveiller et s'abonner à ce journal des événements. Lorsque la demande dans la transaction est détectée, ce processus soumet une transaction sur la chaîne et appelle les méthodes pertinentes du contrat pour télécharger les informations sur le volume de transaction de pétrole brut pour la date spécifiée dans le contrat intelligent.
Parmi de nombreux projets d'Oracle Machine, Chainlink se distingue par sa plus grande part de marché. Chainlink est un projet d'Oracle Machine décentralisé, conçu pour fournir des données générées dans le monde réel à la blockchain de la manière la plus sécurisée possible. Il a construit un écosystème autour du token LINK, basé sur les principes fondamentaux des Oracle Machines, formant un cycle vertueux par des incitations économiques. Les Oracle Machines Chainlink doivent être déclenchées par le transfert de LINK tokens, et LINK est un contrat ERC677 sur le réseau Ethereum. Les fonctions d'Oracle Machine réalisées sur le token LINK ERC677 appartiennent à un modèle de demande/réponse.
La norme ERC677 ajoute la méthode transferAndCall sur la base de l'ERC20, combinant paiement et demande de service pour mieux répondre aux besoins des scénarios d'affaires d'Oracle Machine. Lorsque l'utilisateur effectue un transfert transferAndCall, en plus du transfert ERC20, il vérifie également si l'adresse de destination est une adresse de contrat, et 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 d'abord s'assurer que cette Oracle Machine est fiable, car l'Oracle Machine nécessite un paiement avant de fournir des services aux consommateurs. La fiabilité de l'Oracle Machine peut être classée en fonction de plusieurs facteurs, tels que la fiabilité des sources de données, la réputation des nœuds, etc.
Lorsque les consommateurs d'Oracle Machine utilisent la méthode transferAndCall pour payer des frais et demander des services, la méthode onTokenTransfer du contrat Oracle Machine effectuera une série de vérifications de sécurité. Une fois les vérifications passées, elle appellera la méthode oracleRequest du contrat oracle actuel via deleGatecall. Cette méthode générera un requestId unique, définira une date d'expiration et émettra un événement OracleRequest contenant les données de la demande.
Les nœuds hors chaîne écouteront ces événements, analyseront les informations spécifiques de la demande et récupéreront les données nécessaires via des appels API réseau. Ensuite, en soumettant une transaction, ils invoqueront la méthode fulfillOracleRequest du contrat Oracle Machine pour soumettre les données sur la chaîne. Cette méthode, après avoir effectué une série de vérifications, renverra le résultat à l'adresse de rappel et à la fonction précédemment enregistrées au contrat consommateur.
Pour les développeurs, s'ils souhaitent simplement utiliser les prix des paires de devises existantes sans avoir à spécifier eux-mêmes l'URL de l'API, Chainlink offre également une méthode plus simple. Chaque paire de trading dispose d'un Price Feed(Aggregator) distinct, qui est en réalité un AggregatorProxy. Les développeurs peuvent directement appeler les méthodes de ces contrats Proxy pour obtenir des données de prix, sans avoir à gérer eux-mêmes le processus de demande et de réponse de l'API.
Dans l'ensemble, Chainlink fournit un pont de données sûr et fiable pour le monde de la blockchain grâce à un design ingénieux, élargissant considérablement les cas d'utilisation des contrats intelligents. Avec le développement continu de la technologie blockchain, la technologie Oracle Machine continuera également d'évoluer, offrant un soutien solide à davantage d'applications innovantes.
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.
18 J'aime
Récompense
18
5
Partager
Commentaire
0/400
ContractSurrender
· 07-10 14:06
Oracle Machine a été acheté il y a longtemps et a subi des pertes.
Voir l'originalRépondre0
BlockImposter
· 07-10 01:31
link yyds va To the moon
Voir l'originalRépondre0
ChainMelonWatcher
· 07-08 09:56
link a-t-il atteint un nouveau sommet, buddy ?
Voir l'originalRépondre0
GateUser-44a00d6c
· 07-08 09:55
Les données de réponse proactive sont toujours fiables.
Voir l'originalRépondre0
StrawberryIce
· 07-08 09:32
La prophétie, c'est un avenir illimité en termes d'argent.
Déchiffrer Chainlink : comment la technologie d'Oracle Machine connecte Blockchain et le monde réel
Analyse technique de l'Oracle Machine : exemple avec Chainlink
L'Oracle Machine est une infrastructure clé dans le domaine de la blockchain, elle peut fournir des informations de données externes aux contrats intelligents. En tant que middleware reliant les contrats intelligents et le monde extérieur, la principale fonction de l'Oracle Machine est de fournir les données externes nécessaires aux contrats intelligents sur la blockchain.
Prenons un exemple, supposons que nous créions un contrat intelligent sur le réseau Ethereum qui nécessite des données de volume de transaction de pétrole brut pour un jour donné. Comme le contrat intelligent lui-même ne peut pas obtenir directement ces données réelles hors chaîne, il est alors nécessaire de passer par une Oracle Machine pour le réaliser. Le processus spécifique est le suivant : le contrat intelligent écrit le volume de transaction de pétrole brut requis pour la date souhaitée dans le journal des événements, puis un processus hors chaîne démarre pour surveiller et s'abonner à ce journal des événements. Lorsque la demande dans la transaction est détectée, ce processus soumet une transaction sur la chaîne et appelle les méthodes pertinentes du contrat pour télécharger les informations sur le volume de transaction de pétrole brut pour la date spécifiée dans le contrat intelligent.
Parmi de nombreux projets d'Oracle Machine, Chainlink se distingue par sa plus grande part de marché. Chainlink est un projet d'Oracle Machine décentralisé, conçu pour fournir des données générées dans le monde réel à la blockchain de la manière la plus sécurisée possible. Il a construit un écosystème autour du token LINK, basé sur les principes fondamentaux des Oracle Machines, formant un cycle vertueux par des incitations économiques. Les Oracle Machines Chainlink doivent être déclenchées par le transfert de LINK tokens, et LINK est un contrat ERC677 sur le réseau Ethereum. Les fonctions d'Oracle Machine réalisées sur le token LINK ERC677 appartiennent à un modèle de demande/réponse.
La norme ERC677 ajoute la méthode transferAndCall sur la base de l'ERC20, combinant paiement et demande de service pour mieux répondre aux besoins des scénarios d'affaires d'Oracle Machine. Lorsque l'utilisateur effectue un transfert transferAndCall, en plus du transfert ERC20, il vérifie également si l'adresse de destination est une adresse de contrat, et 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 d'abord s'assurer que cette Oracle Machine est fiable, car l'Oracle Machine nécessite un paiement avant de fournir des services aux consommateurs. La fiabilité de l'Oracle Machine peut être classée en fonction de plusieurs facteurs, tels que la fiabilité des sources de données, la réputation des nœuds, etc.
Lorsque les consommateurs d'Oracle Machine utilisent la méthode transferAndCall pour payer des frais et demander des services, la méthode onTokenTransfer du contrat Oracle Machine effectuera une série de vérifications de sécurité. Une fois les vérifications passées, elle appellera la méthode oracleRequest du contrat oracle actuel via deleGatecall. Cette méthode générera un requestId unique, définira une date d'expiration et émettra un événement OracleRequest contenant les données de la demande.
Les nœuds hors chaîne écouteront ces événements, analyseront les informations spécifiques de la demande et récupéreront les données nécessaires via des appels API réseau. Ensuite, en soumettant une transaction, ils invoqueront la méthode fulfillOracleRequest du contrat Oracle Machine pour soumettre les données sur la chaîne. Cette méthode, après avoir effectué une série de vérifications, renverra le résultat à l'adresse de rappel et à la fonction précédemment enregistrées au contrat consommateur.
Pour les développeurs, s'ils souhaitent simplement utiliser les prix des paires de devises existantes sans avoir à spécifier eux-mêmes l'URL de l'API, Chainlink offre également une méthode plus simple. Chaque paire de trading dispose d'un Price Feed(Aggregator) distinct, qui est en réalité un AggregatorProxy. Les développeurs peuvent directement appeler les méthodes de ces contrats Proxy pour obtenir des données de prix, sans avoir à gérer eux-mêmes le processus de demande et de réponse de l'API.
Dans l'ensemble, Chainlink fournit un pont de données sûr et fiable pour le monde de la blockchain grâce à un design ingénieux, élargissant considérablement les cas d'utilisation des contrats intelligents. Avec le développement continu de la technologie blockchain, la technologie Oracle Machine continuera également d'évoluer, offrant un soutien solide à davantage d'applications innovantes.