Créez votre oracle Chainlink sur Ethereum

Nov 28 2022
Dans l'article précédent, j'ai créé un guide pour installer votre nœud Chainlink, utilisez-le si vous n'avez pas de nœud en cours d'exécution, car cela est nécessaire pour le déploiement d'Oracle. La prochaine étape consistera à déployer le contrat oracle et à le lier au nœud.
Photo de fabio sur Unsplash

Dans l' article précédent , j'ai créé un guide pour installer votre nœud Chainlink, utilisez-le si vous n'avez pas de nœud en cours d'exécution, car cela est nécessaire pour le déploiement d'Oracle.

La prochaine étape consistera à déployer le contrat oracle et à le lier au nœud.

Le contrat oracle est le composant en chaîne du service oracle : il écoute les demandes de données provenant d'autres contrats, relaie les requêtes de données aux nœuds oracle et diffuse les données renvoyées aux contrats clients. Ce contrat peut également effectuer des calculs sur les points de données renvoyés pour produire une valeur agrégée qu'il envoie au contrat demandeur.

Nous devons déployer l'un des contrats comme Oracle.sol ou Operator.sol sur la blockchain.

Oracle.sol est un ancien type de contrat qui ne prend pas en charge les "réponses volumineuses" et ne prend donc pas en charge les réponses à plusieurs mots. Operator.sol est un nouveau type qui prend en charge les réponses volumineuses mais consomme plus de gaz.

Choisissez le type de contrat en fonction de votre tâche : si vous avez besoin d'obtenir une réponse courte avec une seule variable, sélectionnez — Oracle.sol , et si vous devez renvoyer plusieurs valeurs au contrat — Operator.sol.

Je vais vous montrer un exemple de configuration des deux options. Commençons par Oracle.sol .

Pour déployer le contrat, nous allons utiliser Remix , oui, vous pouvez aussi utiliser des outils comme Hardhat ou Truffle , mais dans le guide, je vais regarder l'exemple de Remix .

Pour déployer le contrat Oracle.sol , copiez le code suivant :

// SPDX-License-Identifier: MIT
pragma solidity 0.6.6;
import "@chainlink/contracts/src/v0.6/Oracle.sol";

Ensuite, allez dans l'onglet déploiement et sélectionnez l'environnement souhaité, par exemple : Fournisseur injecté — Metamask . Connectez-vous au compte qui sera utilisé pour le déploiement et spécifiez le réseau requis.

Pour le déployer, choisissez Oracle contract et définissez le paramètre — l'adresse du contrat LINK dans le réseau spécifié ( recherchez-le dans la documentation Chainlink ) et cliquez sur le bouton transact.

Déploiement du contrat Oracle.sol dans l'IDE Remix

Ensuite, nous devons autoriser le portefeuille de notre nœud à enregistrer les résultats des fonctions oracle. L'adresse du portefeuille du nœud se trouve dans l'interface graphique de l'opérateur Chainlink dans le coin supérieur droit de la page d'accueil. Copiez-le, appelez la fonction de contrat Oracle setFulfillmentPermission , collez-le dans les arguments et définissez la valeur sur true .

Accorder au nœud l'autorisation d'enregistrer les résultats

Ça y est, à ce stade vous avez déployé votre oracle, il vous suffit de connecter l'interaction avec celui-ci à un autre contrat intelligent.

Et quid du contrat Operator.sol , comment le déployer ?

OK, pour ce faire, copiez le code suivant :

// SPDX-License-Identifier: MIT
pragma solidity 0.7.6;
import "@chainlink/contracts/src/v0.7/Operator.sol";

Déploiement du contrat Operator.sol dans l'IDE Remix

Après avoir déployé le contrat, comme auparavant dans le contrat Oracle.sol , nous devons ajouter l'adresse du portefeuille du nœud. Pour ce faire, appelez la fonction setAuthorizedSenders et insérez l'adresse au format suivant dans les arguments : ["adresse"]

Accorder au nœud l'autorisation d'enregistrer les résultats

Vous avez parfaitement déployé votre contrat oracle, dans le prochain article j'écrirai sur la façon dont les contrats intelligents peuvent interagir avec oracle.