Détails techniques de l'Oracle Machine : l'exemple de Chainlink
Dans l'écosystème blockchain, l'Oracle Machine joue un rôle clé en connectant les contrats intelligents sur la chaîne avec le monde extérieur. En tant qu'infrastructure, le système Oracle Machine peut fournir des données externes aux contrats intelligents sur la blockchain, permettant ainsi des scénarios d'application plus complexes.
Par exemple, si nous déployons un contrat intelligent sur le réseau Ethereum qui nécessite d'obtenir des données sur le volume des transactions de pétrole à une date spécifique, le contrat lui-même ne pouvant pas accéder directement aux informations hors chaîne, il est alors nécessaire de recourir à une Oracle Machine pour le réaliser. Le processus spécifique est le suivant : le contrat intelligent écrit d'abord la demande de données requises dans le journal des événements, puis un processus hors chaîne écoute et répond à cette demande, en transmettant les informations spécifiées au contrat intelligent par le biais de transactions sur la chaîne.
Chainlink est actuellement le projet d'oracle décentralisé avec la plus grande part de marché. Il a mis en place un mécanisme d'incitation économique via le jeton LINK, formant un écosystème en boucle vertueuse. Le déclenchement de l'oracle Chainlink nécessite un transfert de jetons LINK, et LINK est basé sur le contrat ERC677 d'Ethereum.
La norme ERC677 ajoute la méthode transferAndCall à la norme ERC20, ce qui répond aux besoins spécifiques des services d'Oracle Machine. Lorsque l'utilisateur appelle transferAndCall pour effectuer un transfert, en plus de l'opération de transfert standard ERC20, il vérifiera également si l'adresse de réception est une adresse de contrat. Si c'est le cas, la méthode onTokenTransfer de cette adresse sera appelée.
Avant de demander des services d'Oracle Machine, l'utilisateur doit d'abord confirmer la crédibilité de cet Oracle Machine. La crédibilité de l'Oracle Machine peut être évaluée en fonction de ses performances historiques, de son système de réputation et d'autres facteurs.
Lorsque l'Oracle Machine reçoit une demande de service, elle la traite via la méthode onTokenTransfer. Cette méthode vérifie d'abord si le transfert est un jeton LINK, puis elle vérifie la légitimité des données de la demande. Une fois la vérification réussie, l'Oracle Machine émet un événement OracleRequest contenant les détails de la demande.
Après que le nœud hors chaîne ait écouté cet événement, il analysera les informations de la demande, obtiendra les données nécessaires via un appel API, puis soumettra les données sur la chaîne via la méthode fulfillOracleRequest. Cette méthode, après avoir effectué une série de vérifications, renverra le résultat à la fonction de rappel du demandeur.
Pour les développeurs, Chainlink offre également un service de prix d'oracle plus simple. Chaque paire de trading dispose d'un Price Feed distinct (également appelé Agrégateur), qui est en réalité un contrat AggregatorProxy. Ces contrats fournissent plusieurs méthodes clés, telles que l'obtention des données de prix les plus récentes avec latestRoundData(). Dans la plupart des cas d'utilisation, le contrat n'a besoin que de lire le prix le plus récent.
Il est important de noter que pour les paires de trading cotées en dollars américains, la précision des données de prix est généralement uniformisée à 8 décimales, ce qui simplifie le traitement des problèmes de précision des prix entre différents tokens.
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.
13 J'aime
Récompense
13
5
Reposter
Partager
Commentaire
0/400
DAOplomacy
· 08-10 12:47
le précédent historique suggère que le fossé oracle reste... *sous-optimal* en termes d'alignement des incitations à vrai dire
Voir l'originalRépondre0
CommunityWorker
· 08-10 07:05
off-chain alimenter le prix bull !
Voir l'originalRépondre0
ShibaMillionairen't
· 08-10 06:48
link bébé incroyable ah
Voir l'originalRépondre0
MEVSandwich
· 08-10 06:47
hodl toute la vie link là
Voir l'originalRépondre0
MagicBean
· 08-10 06:45
Hé, tu es toujours en train d'augmenter la position sur link, mon frère.
Chainlink Oracle Machine : le pont qui relie les smart contracts au monde extérieur
Détails techniques de l'Oracle Machine : l'exemple de Chainlink
Dans l'écosystème blockchain, l'Oracle Machine joue un rôle clé en connectant les contrats intelligents sur la chaîne avec le monde extérieur. En tant qu'infrastructure, le système Oracle Machine peut fournir des données externes aux contrats intelligents sur la blockchain, permettant ainsi des scénarios d'application plus complexes.
Par exemple, si nous déployons un contrat intelligent sur le réseau Ethereum qui nécessite d'obtenir des données sur le volume des transactions de pétrole à une date spécifique, le contrat lui-même ne pouvant pas accéder directement aux informations hors chaîne, il est alors nécessaire de recourir à une Oracle Machine pour le réaliser. Le processus spécifique est le suivant : le contrat intelligent écrit d'abord la demande de données requises dans le journal des événements, puis un processus hors chaîne écoute et répond à cette demande, en transmettant les informations spécifiées au contrat intelligent par le biais de transactions sur la chaîne.
Chainlink est actuellement le projet d'oracle décentralisé avec la plus grande part de marché. Il a mis en place un mécanisme d'incitation économique via le jeton LINK, formant un écosystème en boucle vertueuse. Le déclenchement de l'oracle Chainlink nécessite un transfert de jetons LINK, et LINK est basé sur le contrat ERC677 d'Ethereum.
La norme ERC677 ajoute la méthode transferAndCall à la norme ERC20, ce qui répond aux besoins spécifiques des services d'Oracle Machine. Lorsque l'utilisateur appelle transferAndCall pour effectuer un transfert, en plus de l'opération de transfert standard ERC20, il vérifiera également si l'adresse de réception est une adresse de contrat. Si c'est le cas, la méthode onTokenTransfer de cette adresse sera appelée.
Avant de demander des services d'Oracle Machine, l'utilisateur doit d'abord confirmer la crédibilité de cet Oracle Machine. La crédibilité de l'Oracle Machine peut être évaluée en fonction de ses performances historiques, de son système de réputation et d'autres facteurs.
Lorsque l'Oracle Machine reçoit une demande de service, elle la traite via la méthode onTokenTransfer. Cette méthode vérifie d'abord si le transfert est un jeton LINK, puis elle vérifie la légitimité des données de la demande. Une fois la vérification réussie, l'Oracle Machine émet un événement OracleRequest contenant les détails de la demande.
Après que le nœud hors chaîne ait écouté cet événement, il analysera les informations de la demande, obtiendra les données nécessaires via un appel API, puis soumettra les données sur la chaîne via la méthode fulfillOracleRequest. Cette méthode, après avoir effectué une série de vérifications, renverra le résultat à la fonction de rappel du demandeur.
Pour les développeurs, Chainlink offre également un service de prix d'oracle plus simple. Chaque paire de trading dispose d'un Price Feed distinct (également appelé Agrégateur), qui est en réalité un contrat AggregatorProxy. Ces contrats fournissent plusieurs méthodes clés, telles que l'obtention des données de prix les plus récentes avec latestRoundData(). Dans la plupart des cas d'utilisation, le contrat n'a besoin que de lire le prix le plus récent.
Il est important de noter que pour les paires de trading cotées en dollars américains, la précision des données de prix est généralement uniformisée à 8 décimales, ce qui simplifie le traitement des problèmes de précision des prix entre différents tokens.