Oracle Machine principe et introduction à Chainlink
L'Oracle Machine est une infrastructure essentielle dans le monde de la blockchain, capable de fournir des données externes aux contrats intelligents. En tant que pont entre les contrats intelligents et le monde réel, l'Oracle Machine joue un rôle crucial dans l'écosystème de la blockchain.
Les contrats intelligents eux-mêmes ne peuvent pas obtenir de données hors chaîne, c'est pourquoi ils ont besoin d'une Oracle Machine pour réaliser cette fonctionnalité. Par exemple, si un contrat intelligent sur Ethereum a besoin des données de volume de transactions de pétrole brut pour un jour donné, il écrira la demande dans le journal des événements. Ensuite, le processus hors chaîne écoutera ce journal et téléchargera les données nécessaires dans le contrat intelligent en appelant la méthode du contrat.
Chainlink est actuellement le projet d'oracle décentralisé ayant la plus grande part de marché. Il a établi un écosystème motivé par des incitations économiques grâce au jeton LINK, garantissant la fourniture de données du monde réel à la blockchain de la manière la plus sécurisée. Le déclenchement de l'oracle Chainlink nécessite un transfert de jetons LINK, ce qui appartient au modèle de demande/réponse.
Le jeton LINK est un jeton basé sur la norme ERC677, qui ajoute la méthode transferAndCall à la norme ERC20. Cette méthode combine le paiement et la demande de service, répondant mieux aux besoins commerciaux de l'Oracle Machine. Lorsque l'utilisateur effectue un transfert avec transferAndCall, en plus de l'opération de transfert, la méthode onTokenTransfer de l'adresse de réception sera également appelée.
La méthode onTokenTransfer du contrat Oracle Machine effectuera une série de vérifications de sécurité, y compris la validation du token transféré pour s'assurer qu'il s'agit de LINK, la vérification de la longueur des données pour éviter les dépassements, et la validation du sélecteur de fonction, etc. Après les vérifications, elle appellera la méthode oracleRequest du contrat oracle via deleGatecall.
La méthode oracleRequest génère un identifiant de demande unique, définit un temps d'expiration et émet l'événement OracleRequest. Cet événement contient les données de la demande, généralement des données binaires au format CBOR.
Après que le nœud hors chaîne ait écouté l'événement OracleRequest, il analysera les informations de demande spécifiques, obtiendra les résultats via un appel API, puis appellera la méthode fulfillOracleRequest pour soumettre les données sur la chaîne. Cette méthode, après une série de validations, appellera la fonction de rappel du contrat demandeur pour renvoyer les résultats au contrat consommateur.
Pour les développeurs, Chainlink propose également une interface Price Feed plus simple. Chaque paire de trading a un contrat AggregatorProxy, qui fournit plusieurs méthodes simples pour interroger les prix. La méthode latestRoundData() permet d'obtenir directement les données de prix les plus récentes, sans avoir à spécifier soi-même des API ou d'autres configurations complexes.
Dans l'ensemble, Chainlink offre un accès externe aux données pour les contrats intelligents de manière pratique et fiable, tout en garantissant la sécurité grâce au jeton LINK et à une architecture de contrat soigneusement conçue, favorisant ainsi le développement ultérieur de l'écosystème blockchain.
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.
Chainlink : smart contracts et le pont vers le monde réel
Oracle Machine principe et introduction à Chainlink
L'Oracle Machine est une infrastructure essentielle dans le monde de la blockchain, capable de fournir des données externes aux contrats intelligents. En tant que pont entre les contrats intelligents et le monde réel, l'Oracle Machine joue un rôle crucial dans l'écosystème de la blockchain.
Les contrats intelligents eux-mêmes ne peuvent pas obtenir de données hors chaîne, c'est pourquoi ils ont besoin d'une Oracle Machine pour réaliser cette fonctionnalité. Par exemple, si un contrat intelligent sur Ethereum a besoin des données de volume de transactions de pétrole brut pour un jour donné, il écrira la demande dans le journal des événements. Ensuite, le processus hors chaîne écoutera ce journal et téléchargera les données nécessaires dans le contrat intelligent en appelant la méthode du contrat.
Chainlink est actuellement le projet d'oracle décentralisé ayant la plus grande part de marché. Il a établi un écosystème motivé par des incitations économiques grâce au jeton LINK, garantissant la fourniture de données du monde réel à la blockchain de la manière la plus sécurisée. Le déclenchement de l'oracle Chainlink nécessite un transfert de jetons LINK, ce qui appartient au modèle de demande/réponse.
Le jeton LINK est un jeton basé sur la norme ERC677, qui ajoute la méthode transferAndCall à la norme ERC20. Cette méthode combine le paiement et la demande de service, répondant mieux aux besoins commerciaux de l'Oracle Machine. Lorsque l'utilisateur effectue un transfert avec transferAndCall, en plus de l'opération de transfert, la méthode onTokenTransfer de l'adresse de réception sera également appelée.
La méthode onTokenTransfer du contrat Oracle Machine effectuera une série de vérifications de sécurité, y compris la validation du token transféré pour s'assurer qu'il s'agit de LINK, la vérification de la longueur des données pour éviter les dépassements, et la validation du sélecteur de fonction, etc. Après les vérifications, elle appellera la méthode oracleRequest du contrat oracle via deleGatecall.
La méthode oracleRequest génère un identifiant de demande unique, définit un temps d'expiration et émet l'événement OracleRequest. Cet événement contient les données de la demande, généralement des données binaires au format CBOR.
Après que le nœud hors chaîne ait écouté l'événement OracleRequest, il analysera les informations de demande spécifiques, obtiendra les résultats via un appel API, puis appellera la méthode fulfillOracleRequest pour soumettre les données sur la chaîne. Cette méthode, après une série de validations, appellera la fonction de rappel du contrat demandeur pour renvoyer les résultats au contrat consommateur.
Pour les développeurs, Chainlink propose également une interface Price Feed plus simple. Chaque paire de trading a un contrat AggregatorProxy, qui fournit plusieurs méthodes simples pour interroger les prix. La méthode latestRoundData() permet d'obtenir directement les données de prix les plus récentes, sans avoir à spécifier soi-même des API ou d'autres configurations complexes.
Dans l'ensemble, Chainlink offre un accès externe aux données pour les contrats intelligents de manière pratique et fiable, tout en garantissant la sécurité grâce au jeton LINK et à une architecture de contrat soigneusement conçue, favorisant ainsi le développement ultérieur de l'écosystème blockchain.