Analyse approfondie de la technologie Oracle Machine
Dans l'écosystème de la blockchain, l'Oracle Machine joue un rôle d'infrastructure crucial en tant que pont entre les contrats intelligents sur la chaîne et le monde extérieur. Sa fonction principale est de fournir des données externes aux contrats intelligents sur la blockchain.
Par exemple, si nous déployons un contrat intelligent sur le réseau Ethereum qui nécessite d'obtenir les données du volume de transactions de pétrole brut pour une certaine date, le contrat lui-même ne pouvant pas accéder directement aux données du monde réel hors chaîne, il est alors nécessaire de recourir à une Oracle Machine pour y parvenir. Le processus spécifique est le suivant : le contrat intelligent enregistre la demande de volume de transactions de pétrole brut pour la date requise dans le journal des événements, puis un processus hors chaîne écoute et s'abonne à cet événement. Lorsqu'une demande pertinente est détectée, ce processus appelle une méthode spécifique du contrat en soumettant une transaction sur la chaîne, et télécharge les informations sur le volume de transactions de pétrole brut pour la date spécifiée dans le contrat intelligent.
Parmi de nombreux projets d'oracles, un projet d'oracle décentralisé se classe parmi les premiers en termes de part de marché. Ce projet s'engage à fournir des données du monde réel à la blockchain de la manière la plus sécurisée. En plus de réaliser les principes de base des oracles, ce projet a également construit un écosystème en boucle vertueuse autour de son jeton natif, garantissant la durabilité du système grâce à des incitations économiques. Dans ce système, le déclenchement de l'oracle nécessite un transfert de jetons natifs, et cette fonctionnalité d'oracle basée sur des jetons appartient au modèle de demande/réponse.
Ce projet utilise une version améliorée du standard de jetons homogènes, qui ajoute une méthode transferAndCall sur la base de l'ERC20 standard. Cette méthode combine habilement le paiement et la demande de service, répondant ainsi parfaitement aux besoins des scénarios d'activité d'Oracle Machine. Lorsque l'utilisateur appelle transferAndCall pour effectuer un transfert, en plus du transfert ERC20 classique, il vérifie 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.
Dans le contrat Oracle Machine, la méthode onTokenTransfer vérifie d'abord si le transfert a utilisé le jeton spécifié, puis elle vérifie la légitimité des données de la demande. Après une série de contrôles de sécurité, le contrat génère un identifiant de demande unique, définit un temps d'expiration et enregistre les informations pertinentes dans la carte des engagements. Le plus important est que le contrat émet un événement contenant les données de la demande, ces données étant encodées au format d'objet binaire léger.
Après avoir reçu la demande, le nœud hors chaîne appelle la méthode fulfillOracleRequest pour répondre à la demande. Cette méthode effectue d'abord une série de vérifications, y compris la vérification de l'autorisation de l'appelant, de la validité de la demande, etc. Une fois les vérifications réussies, elle enregistre le montant de jetons pouvant être extraits et supprime l'ID de la demande de la carte des engagements. Enfin, si le gaz restant est suffisant, elle appelle la fonction de rappel du contrat de l'expéditeur.
Dans la fonction de rappel, la validité de la demande sera à nouveau vérifiée et les données renvoyées seront traitées en fonction des besoins spécifiques. Par exemple, pour le prix Oracle Machine, il peut mettre à jour les données de prix actuelles.
Pour les développeurs, un certain projet d'Oracle Machine propose également une interface de recherche de prix plus pratique. Chaque paire de trading dispose d'un agrégateur de prix indépendant, permettant aux développeurs d'appeler directement ces interfaces pour obtenir les dernières données de prix, sans avoir à spécifier eux-mêmes l'URL de la source de données. Ces interfaces incluent généralement des fonctionnalités telles que la précision de la requête, la description, la version, les données historiques et les dernières données, simplifiant ainsi considérablement le processus de développement.
Il est à noter que dans la plupart des cas d'application, le contrat peut n'avoir besoin que de lire le dernier prix. De plus, pour les paires de trading libellées en dollars, la précision des prix est généralement uniformisée à 8 décimales, ce qui évite les tracas liés aux différences de précision des différents jetons.
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.
8 J'aime
Récompense
8
5
Partager
Commentaire
0/400
StableNomad
· 07-05 02:11
Oracle Machine ne peut vraiment pas s'en passer.
Voir l'originalRépondre0
PositionPhobia
· 07-04 19:56
Je m'en vais avant la hausse ou la chute.
Voir l'originalRépondre0
TestnetNomad
· 07-03 23:26
Oracle Machine n'est pas simple
Voir l'originalRépondre0
DEXRobinHood
· 07-02 10:21
Le middleware est extrêmement important.
Voir l'originalRépondre0
RetiredMiner
· 07-02 10:05
Les machines Oracle de données sont trop puissantes.
Oracle Machine technologie : pont entre les smart contracts et le monde réel
Analyse approfondie de la technologie Oracle Machine
Dans l'écosystème de la blockchain, l'Oracle Machine joue un rôle d'infrastructure crucial en tant que pont entre les contrats intelligents sur la chaîne et le monde extérieur. Sa fonction principale est de fournir des données externes aux contrats intelligents sur la blockchain.
Par exemple, si nous déployons un contrat intelligent sur le réseau Ethereum qui nécessite d'obtenir les données du volume de transactions de pétrole brut pour une certaine date, le contrat lui-même ne pouvant pas accéder directement aux données du monde réel hors chaîne, il est alors nécessaire de recourir à une Oracle Machine pour y parvenir. Le processus spécifique est le suivant : le contrat intelligent enregistre la demande de volume de transactions de pétrole brut pour la date requise dans le journal des événements, puis un processus hors chaîne écoute et s'abonne à cet événement. Lorsqu'une demande pertinente est détectée, ce processus appelle une méthode spécifique du contrat en soumettant une transaction sur la chaîne, et télécharge les informations sur le volume de transactions de pétrole brut pour la date spécifiée dans le contrat intelligent.
Parmi de nombreux projets d'oracles, un projet d'oracle décentralisé se classe parmi les premiers en termes de part de marché. Ce projet s'engage à fournir des données du monde réel à la blockchain de la manière la plus sécurisée. En plus de réaliser les principes de base des oracles, ce projet a également construit un écosystème en boucle vertueuse autour de son jeton natif, garantissant la durabilité du système grâce à des incitations économiques. Dans ce système, le déclenchement de l'oracle nécessite un transfert de jetons natifs, et cette fonctionnalité d'oracle basée sur des jetons appartient au modèle de demande/réponse.
Ce projet utilise une version améliorée du standard de jetons homogènes, qui ajoute une méthode transferAndCall sur la base de l'ERC20 standard. Cette méthode combine habilement le paiement et la demande de service, répondant ainsi parfaitement aux besoins des scénarios d'activité d'Oracle Machine. Lorsque l'utilisateur appelle transferAndCall pour effectuer un transfert, en plus du transfert ERC20 classique, il vérifie 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.
Dans le contrat Oracle Machine, la méthode onTokenTransfer vérifie d'abord si le transfert a utilisé le jeton spécifié, puis elle vérifie la légitimité des données de la demande. Après une série de contrôles de sécurité, le contrat génère un identifiant de demande unique, définit un temps d'expiration et enregistre les informations pertinentes dans la carte des engagements. Le plus important est que le contrat émet un événement contenant les données de la demande, ces données étant encodées au format d'objet binaire léger.
Après avoir reçu la demande, le nœud hors chaîne appelle la méthode fulfillOracleRequest pour répondre à la demande. Cette méthode effectue d'abord une série de vérifications, y compris la vérification de l'autorisation de l'appelant, de la validité de la demande, etc. Une fois les vérifications réussies, elle enregistre le montant de jetons pouvant être extraits et supprime l'ID de la demande de la carte des engagements. Enfin, si le gaz restant est suffisant, elle appelle la fonction de rappel du contrat de l'expéditeur.
Dans la fonction de rappel, la validité de la demande sera à nouveau vérifiée et les données renvoyées seront traitées en fonction des besoins spécifiques. Par exemple, pour le prix Oracle Machine, il peut mettre à jour les données de prix actuelles.
Pour les développeurs, un certain projet d'Oracle Machine propose également une interface de recherche de prix plus pratique. Chaque paire de trading dispose d'un agrégateur de prix indépendant, permettant aux développeurs d'appeler directement ces interfaces pour obtenir les dernières données de prix, sans avoir à spécifier eux-mêmes l'URL de la source de données. Ces interfaces incluent généralement des fonctionnalités telles que la précision de la requête, la description, la version, les données historiques et les dernières données, simplifiant ainsi considérablement le processus de développement.
Il est à noter que dans la plupart des cas d'application, le contrat peut n'avoir besoin que de lire le dernier prix. De plus, pour les paires de trading libellées en dollars, la précision des prix est généralement uniformisée à 8 décimales, ce qui évite les tracas liés aux différences de précision des différents jetons.