NFT est devenu un mot que vous entendez presque tous les jours même si vous n’êtes pas impliqué dans le monde de la Blockchain et du web3. Pour la plupart, c’est lié aux images que nous entendons qui ont été vendues à des prix élevés, mais c’est plus que cela. Dans cette série, vous allez non seulement connaitre ce qu’est un NFT, mais vous allez également créer votre premier NFT.

Table de matieres:

1-Qu’est ce qu’un un NFT ? 

2-Qu’est ce que ERC721 ?

3-Créer le contrat intelligent d’ERC721

4-Déployer le contrat intelligent

Qu’est ce qu’un un NFT ? 

NFT signifie “Non-fungible Token”, ces tokens ne sont pas interchangeables avec d’autres articles car ils ont des propriétés uniques.En effet, les NFT sont des jetons que nous pouvons utiliser pour représenter la propriété d’éléments uniques. Ils nous ont laissé symboliser des choses comme l’art, les objets de collection, l’immobilier. Ils ne peuvent avoir qu’un seul propriétaire officiel à la fois et ils sont sécurisés par la blockchain Ethereum – personne ne peut modifier l’enregistrement de propriété ou copier/coller un nouveau NFT.

Qu’est ce que ERC721 ?

Nous avons déjà écrit un article sur les ERC20 tokens, vous pouvez le consulter à partir de ce lien, mais pas tous les jetons suivront la même norme, ERC721 apparaît dans des situations immobilières ou artistiques.

En bref et en termes plus simples, un jeton ERC-721 n’est rien de plus qu’un jeton “à collectionner”. Grâce à cela, nous pouvons définir la valeur d’un jeton ERC-721 en fonction de la rareté et de la particularité de ses propriétés. Cela signifie qu’il sera plus attrayant pour ses futurs propriétaires ou “Collectionneurs”.

QMHTlmF9BDFn7ruSgje1N0Dn A0ADm L3EOmEVNVPRp1JDIyecjZ8IZctcc0ea8prnZIRV5V28MRCWroEOEKQkTf k QPXTs2Qid7nRW7zL d0U79l0rq4wHeBhz2jEwQ JFf9WSM6R2NkKCqkB WCWSjYvpBgzJFIWAWRnwgHK0XqmCoA Gl4OjFA

Créer le contrat intelligent d’ERC721:

On va utiliser truffle comme environnement de développement,on a déjà fait un article qui va vous facilite l’apprentissage de cet outil.vous pouvez le voir en cliquant ici.

Comme nous l’avons déjà fait dans le jeton ERC20, nous utiliserons oppenzeppling pour écrire les fonctions déclarées dans l’interface du standard ERC721.

OpenZeppelin Contract est une bibliothèque open source avec un code réutilisable pré-testé pour faciliter le développement de contrats intelligents.

Donc vous devez installez OpenZeppelin Contract avec la commande ci-dessous:

L7GElJUKlhwc3k6 P S0Y64YSNkKqSXbUB xgI9ZDPrTt96TFjSIqoimHgEvS4ipbvkNevzVEj78dk2pAqWU JhtyRqdWWQZp8Rj aWTzfG gBHalbiQFfs0TNfGWO7ZXOdJDudjiB

Après avoir créé votre fichier solidity, vous importez la partie de ERC721 d’openzeppelin dans notre fichier :

wa281zlXcSVQ7 Dg5uWhRfr85VzoS9UyTnf8dY35nF4R UzSaQaXMImOsvN6Iw47eGQ2xBnM ZhT2b l jkfdbrMb6laht YmFvIzOJMJ2I8XZ7EsfWK5La4iPvY8LUF7joHre54NcGMtgudi 3VObn1pILtqAA1KmYog8e6QD7iLXoPwpd6BnPE5w

Et initialiser le Token, héritant du contrat ERC721.sol d’openzeppelin :

ax 06WrZIeIEM9ev8fk9Ic1rMuqZ3SohuiLSS9YMnObpNtW8ZbTt

Nous avons également besoin d’un compteur, il est utile de générer des identifiants incrémentiels pour nos NFT. Nous avons nommé la variable _tokenIdCounter .Donc on va importer le module mentionne dans l’image ci-dessous:

dDWc779vMUNLjH8HvAmb duFIWOja3 7Z8JwkCf5E7rjdb63zfE20UrWDpcFRBgfXiPrpE29xeMu eOChvtj1f Hj xif6ypadkGthxm64pAcmgeibul05r72AITNEqJkPfSJWW3Sazer2RVvet0ORCJz nDI 2T2oMxh7gSQ6JVt4FHv145K JgRg
2 ONeny9hyc0LetW4uAwwC3 pAcb2qS5RG6JUZbVMjZen5mpacqPan1 6InhRk 36LW2pFypy2C4ZGu2wkTQ3pyb0TXN1r dTELxvt3snf5pWil2ZefjZlacWKGebJ1a0 3kKpJ8QQC3zm62 qa aUMmAJ7EZQqJZiugOa1ZgsEDfm

Dans le constructeur, nous avons initialisé notre ERC721 avec son nom et son symbole.

UFb7TIj8XeW5CC71DT v6Yrki4vClUb28L6gUF bkbXy73ZaXWaq8BCylPQrYwg5eEla1qipE3pRZg86cwXurSG36uJRqKWsglJIPvEqTnn 8CP1KN2yjL5O1z lBLw8 u L8O3Bf85bbX QrQRt4Po8li3rNm6ileuMF3 K9If3E5nTvbHjCLc3Xw

 _baseUri() est l’URL qui sera ajoutée en tant que “préfixe” à tous nos tokenURI(la concaténation du baseURI et du tokenId). Vide par défaut, peut être remplacé dans les contrats enfants. Et c’est ce que nous allons faire dans cette étape.

DyCkpF7hjgkbIBf9Uvy 1xgBHt6 nNhRick7xjrKskycChms4SAK41 o13Tz4Z3if7 Oda0N7jFdzABL5RpSk28x E3s3qn9mL48bMkiPpqEYvSxjcl78JTLYvq2u4oTfKHEkGZTCkFyg mG7 0fMLaEvuGfoaSL4MicLpk4X0bqdlKiD7FcefrRw

Ensuite, nous implémentons la fonction ‘mint’. C’est la fonction qui vous permet de publier une instance de ce Smart Contract sur la blockchain.

3KLgYV53p51AoKV9Wy2J a2qDO D11 DeDqrKZeYTNFIAeX

Déployer le contrat intelligent

Pour déployer votre contract, vous aurez besoin de configurer un Ethereum node, ce qui est difficile. Donc on va utiliser infura .
Infura est un cluster de nœuds Ethereum hébergé qui permet d’exécuter votre application sans les obliger à configurer leur propre Ethereum node.

vous devez donc vous rendre sur infura et créer un compte.

vous allez créer votre premier projet avec l’aide fournie par infra.après,vous cliquez sur :

8 VlE2a4Z0G2OfaZG3ccD8

pour déployer votre contrat, vous aller utiliser rinkeby testnet,alors on va la choisir et on copie le lien fournie:

aWBYrttnhd7XK8lN7NjJ3r1DdUI7E9m1K

Installons HDWalletProvider avec la commande ci-dessous:

ESt8EwhSP4gZWCF3AJHjXUY1yQcmEh5HL9qhL2JBWmsFMRA pQ2BqYHsMkNz vC cBdklGQSjKgVaiw8HytnvOmgryIVHVH3O5t BWDfFH8o34SvpqL 9Aa9yny8SFxJ4huf4Yvlfz9TaLxVUdeAwe6761moMKnx1SOVLzKNvJ0XWw N RuvUK3huw

Puis vous ouvrez truffle-config pour avoir l’opportunité d’ajouter les lignes comme mentionné dans les images ci-dessous :

9gl2KK0RnSy30V8TNuA5TXNQ2QXIfUk5S8bvdHoXD qYQW9 ADFXqjsDxRJuMAH eg5 7mhoQRuq5DGBNA3iANpT 8ooaGqw9aCO60rq0w54XOFilWrdJiswiS
GrW9ixsNu4aCxFemxLNNcEplL6auctMaN8EjnG73UI746tMa3Dev2Aveoyos1bEDL8 D57gEXmzpss5tqWxQdIWxOhfGT3xdQSOjXXBYricH5eJ aJ7rE4hpvmMaVB8XaUSs K8APSe2rJpDulssCf2l5KSAcL02h0 zY5mCyA UwX uGySe63SogA

Vous devez faire une dernière modification dans le fichier de migration:

ynb8g0TEF777VI6StlC9nB3l8U2qAmVDHQQfUYxkc2IBaLhnY2apvoKWOLn105 c2TVxgW3kVzel6nJStRyL4sc1GhV3znbdwsTdLDtSD1wNvTuua PaY9CwnRE CaITygRFW M7dYEdOhARkzHTSg9Z5Pi43tgdtpcu7f 3YX1SBvc yLFsKrI5MQ

Maintenant notre contrat est prêt, tapez simplement dans le terminal la commande suivante :

ELVacx6xm5E6bS70JNRq2NTbyQExhQNrGPKnN7SIAKhXhd3 9AtVZ3MEUBv0zeHf3niU6MHKNEot17VUtlN e5qUvrUEbQYCHk4DpSohw2dxdrUCGr2aKLdedax7kR2YA81hixuh lmyhiEcQCAQbtpv omeR qylJ44guFqU8rCDHTI5WAUnqG8LQ

si tout se passe bien, vous recevrez un message sur votre console comme dans l’image ci-dessous :

kF2KYVjgnRtcRRlZe9ct9SaLh YX4aieQzTK0rikJIm9yLfergdCSITvDesZraDjyHdK60Ftixsdy47esDR8ydj7W5DGnNY7AjxTy mpTT1mrP11 h1BOQfG084BPQyHonokmYKXnpsh0Wgj7QVoTpo7l05z RIizbvMJhtXhoVV4v8aJAul2KoNDA

Félicitations!! vous venez de créer votre premier ERC721 token. De plus, le déployer avec rinkeby testnet . Et dans les articles suivants de cette série, vous allez minter votre premier NFT, créer une dapp de minting …

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.