Chers Racers, vous êtes-vous déjà demandé par quelle magie les NFTs vous permettent de participer à l’écosystème de Stables ? Et bien la réponse est très simple : les smart contracts ! Comment fonctionnent-ils ? Est-il possible de consulter le smart contract de Stables ? Si oui, que peut-on y trouver d’intéressant ? On va tout vous expliquer dans cet article.
Qu’est-ce qu’un smart contract ?
Avant toute chose, commençons par le commencement. Si tu ne comprends pas bien ce qu’est un smart contract, nous allons y répondre tout de suite.
Un smart contract est défini comme un programme informatique décentralisé (il repose sur une blockchain), automatisé (il s'exécute tout seul lorsque des conditions sont remplies) et transparent (tout le monde peut y accéder et le consulter).
Pour faire simple, il suffit d’imaginer un contrat traditionnel, mais avec une petite touche de magie technologique. En effet, lorsque les conditions définies à l’avance sont remplies, le contrat s’exécute automatiquement, sans l’intervention d’un intermédiaire. En bref, la confiance est accordée au code et non plus à une intervention humaine.
Les smart contract sont la quintessence de ce que l’on appelle la finance décentralisée. Sans eux, rien de ce que vous connaissez ne pourrait exister ; en particulier notre cher projet Stables !
D’ailleurs, sachez qu’un smart contract est transparent et donc consultable par n’importe qui ! Oui, vous avez bien compris Racers, il est possible de lire le smart contract de Stables. Passionnant, n'est-ce pas ? Et bien c’est ce que nous allons découvrir ensemble dans la suite de ce guide.
📎 Pour en découvrir plus sur Stables, consultez l’ensemble de nos articles sur le blog !
Où trouver le smart contract de Stables ?
Comme vous le savez certainement, Stables est un fantasy game évoluant sur la blockchain Tezos. Le choix s’est porté sur cette blockchain car elle apporte un haut niveau de sécurité, ne consomme pas beaucoup d’énergie pour son fonctionnement et permet de proposer des frais de transactions abordables pour les utilisateurs.
Comme toute blockchain, Tezos dispose d’explorateurs permettant de suivre en temps réel tout ce qu’il s’y passe. Il en existe plusieurs, les plus connus étant TzStats et TzKT. Pour commencer, rendez-vous donc sur l’un d’entre eux (pour la suite, nous utiliserons TzKT).
Ensuite, vous devrez mettre la main sur le(s) adresse(s) du smart contract. Ceux-ci sont facilement accessibles sur le blog de Stables mais on vous les redonne redonner ici :
Voici les adresses des smart contracts :
- Stables Pass (NT NFT): KT1RqXzEKaChWrBpmfWUmUbMJ7zLRCW2F6YL
- Stables NFT Collection: KT1MQL8VjVQckk5A6uBfN9Qv2YUVJstG1CyH
- Stables Sale Contract: KT1JF9JfwRc9wwoMEQFUZDZBrVDvrazYdEFK
Sélectionnez l’une d’entre elles et coller-la dans la barre de recherche de l’explorateur TzKT. Comme par magie, vous avez tout un tas d’informations qui s’affiche sur votre écran. Prêt à les décrypter ?
📎 Approfondissez en découvrant ce qu’est la blockchain Tezos et son token XTZ !
Comment lire le smart contract de Stables ?
Visite du contrat de vente
L’outils TkZT nous offre l’accès à tout un tas d’informations : le code en lui-même, les dernières opérations réalisées par le contrat, les différents tokens qu’il encadre et leurs caractéristiques, ou encore les métadonnées. Ces informations seront les mêmes, peu importe le contrat que vous observez.
Pour commencer, prenons la troisième adresse dans la liste ci-dessus. Elle correspond au contrat ayant permis la vente des NFTs. En la collant dans la barre de recherche de l’observateur, il est notamment possible d’afficher l’ensemble des opérations de mint des utilisateurs - et certainement la vôtre, Racer :
Voici les plus récentes opérations exécutées par le smart contract. La dernière en date a été réalisée le 30 mars 2023, à 17h50 et correspond au dernier NFT minté par un membre de la communauté.
Comme vous pouvez le constater, chaque mouvement inclut deux opérations. La première signifie que l’utilisateur confirme la volonté de mint un NFT sur le site Internet de Stables, ce qui déclenche la fonction “confirm_order” au sein du smart contract.
Avant d’aller plus loin, notez que les informations qui apparaissent sont similaires pour toutes les opérations. En haut, vous retrouvez l’identifiant de la transaction, la date, le numéro du bloc dans laquelle elle a été réalisée et si elle a été approuvée ou non. En dessous, vous avez la personne qui a fait appel au smart contract et le bénéficiaire de l’action. Enfin, l’on vous indique la quantité de gas utilisée pour l’opération. Nous pouvons d’ailleurs observer que le smart contract a correctement exécuté la fonction, ce qui a entraîné une dépense de frais de 0,012 XTZ.
Ensuite, nous pouvons voir que la fonction “mint” du smart contract est appelée automatiquement, ce qui aura pour résultat de transférer le NFT depuis l’adresse du portefeuille de l’équipe Stables vers celui de l’utilisateur ayant réalisé l’opération.
De plus, comme vous pouvez le remarquer également, le NFT a été transféré depuis le contrat de vente (KTAJF9Jf…) vers le contrat de la collection (KT1MQL8V…). En parlant de ce contrat, allons y faire un tour !
Visite du contrat de la collection
De la même manière que tout à l’heure, copiez-collez l’adresse de ce contrat dans la barre de recherche du site Internet TzKT. Au cas où, la revoici : KT1MQL8VjVQckk5A6uBfN9Qv2YUVJstG1CyH.
Dans l’onglet “CODE”, il est encore une fois possible d’observer le code qui régit le smart contract de la collection. Dans l’onglet “TOKENS”, il est possible d’afficher la liste des 6 666 NFTs de la collection. Sur la droite de votre écran, vous aurez les détails de chacun d’entre eux, notamment l’ID du token et les attributs de l’oeuvre associée.
Rendons-nous dans l’onglet “OPERATIONS”. Celui-ci vous permet d’observer les dernières opérations réalisées sur ce smart contract, comme son nom l’indique. Intéressons-nous aux dernières transactions en date, à l’heure de l’écriture de cet article. Vous allez voir, elle nous raconte une histoire très simple !
Sur la droite de votre écran, voici ce qui s’affiche pour la première opération :
Cette transaction nous informe qu’un utilisateur, dont l’adresse s’affiche à l’écran, a autorisé la marketplace Objkt à interagir avec son token “IZARDO DU RIB” à 7h32 du matin, le 5 juillet. Que faut-il en retenir ? Un utilisateur a placé son NFT en vente sur la marketplace.
La seconde transaction se passe à 8h41 du matin. La voici :
C’est la marketplace Objkt qui a fait appel au smart contract par le biais de la fonction “transfer”. Autrement dit, elle informe le contrat d’une demande d’un utilisateur de la volonté d’obtenir le token, selon les conditions prédéfinies par le vendeur. Vous l’aurez compris, un utilisateur a interagi avec la marketplace Objkt pour acheter le NFT en question.
Enfin, voici la dernière opération, réalisée à 8h41 également :
Comme indiqué dans l’explorateur de Tezos, le smart contract fait appel à la fonction “do_transfer”, qu’il exécute dans la foulée. Cela a pour résultat de transférer le token “IZARDO DU RIB” depuis l’adresse du détenteur vers celle qui a interagi avec la marketplace Objkt. C’est la dernière étape, l’acheteur reçoit son NFT qui quitte le portefeuille de son ancien détenteur.
Voilà, nous avons lu ensemble ce qu’il se passait sur le smart contract de Stables. En quelques minutes, vous avez pu découvrir ce qu’il se passe quand un utilisateur met en vente son NFT et qu’un autre décide de l’acquérir !
📎 Pour aller plus loin : Avoir un cheval qui est bon dans la vraie vie, est-ce utile dans Stables ?
Un easter egg dans le smart contract de Stables ?
Il y a beaucoup de choses très intéressantes à retenir du smart contract de Stables. Néanmoins, il vous faudra quelques connaissances en code pour les appréhender. On peut tout de même vous proposer d’observer quelque chose d’intéressant et qui devrait éveiller votre curiosité chers Racers ! C’est une sorte d’easter egg, une fonction cachée du programme.
Pour comprendre cela, il faut savoir que les métadonnées de Stables ne sont pas stockées au sein de la blockchain mais sur des serveurs appartenant au projet. C’est un choix commun à de nombreux projets de NFTs, car le cas inverse signifierait une dépense de frais de gas très importante. Néanmoins, Stables vous propose un moyen de vérifier qu’aucunes des métadonnées n’a été modifiée à la suite du mint.
En effet, le token ID est calculé d’une manière toute particulière. D’abord, les informations suivantes sont mises bout à bout : le numéro du NFT dans la collection, le pays de naissance du cheval, le code de ce pays, l'année de naissance, la date de naissance complète et enfin le nom officiel du cheval. Cela donne quelque chose comme “ 1:FR:2023:2023-01-01:NOM “. Ensuite, la transformation suivante est appliquée :
- octets : 31 3a 46 52 3a 32 30 32 33 3a 32 30 32 33 2d 30 31 2d 30 31 3a 44 41 56 49 44
- little: 109732130401448801075897904080883403357190557740499221633972785
- modulo 10^12 : 221633972785
Voilà, vous obtenez l’ID de votre token. Par ce système, vous pouvez vérifier constamment que Stables ne modifie pas les données intrinsèques à votre NFT, notamment le cheval qui y est adossé !
📎 Découvrez comment acheter des NFTs Stables avec vos XTZ
Conclusion
Voilà, nous avons atteint la fin de notre voyage au sein du smart contract de Stables. Évidemment, nous ne sommes pas rentrés dans les détails, car cela aurait demandé beaucoup plus de temps.
Par le biais de cet article, nous avons pu démystifier le principe des smart contracts et comprendre ce qui se cache techniquement derrière une simple opération d’achat d’un NFT de la collection Stables.
En espérant que cet article vous a donné un aperçu éclairé sur la manière de lire le smart contracts de la collection et que vous avez apprécié l’easter egg qui y est caché ! Si vous souhaitez continuer à vous renseigner ou que vous avez des questions à nous poser, n’hésitez pas à le faire sur notre serveur Discord !
📎 La course inaugurale de Stables arrive à grand pas, ne la manquez pas !
Articles suggérés
Consulte nos autres articles
Qu’est-ce que la blockchain Tezos et son token XTZ ?
Les NFT sont-ils passés de mode ? Stables défie les statistiques !
MetaMask Snaps : Il est désormais possible d’utiliser Tezos sur le wallet MetaMask !
Ne loupe plus aucune actualité sur Stables
Tu veux en savoir plus sur l'univers Stables ? Tu es au bon endroit.