Comment créer des NFT avec Solidity ?

Comment créer des NFT avec Solidity ?

Un guide glorieux pour construire et créer des NFT, la norme ERC-721 pour créer des objets de collection, de l’art et tout type d’actif unique sur la chaîne.

Qu’est-ce qu’un NFT ?

Un NFT, ou jeton non fongible, est un jeton unique en son genre qui ne peut être remplacé par un autre jeton.

Contrairement aux crypto-monnaies telles que BTC, ETH ou DogeCoin, qui sont interchangeables (un Doge vaut toujours un Doge), les NFT ne le sont pas : chaque NFT n’a qu’une seule unité.

Les gens sont très enthousiastes à leur sujet. Les NFT sont une nouvelle entreprise rendue possible par l’avènement de la blockchain et des contrats intelligents.

À quoi sert un NFT ?

Un NFT permet de surmonter le dilemme de l’authenticité dans l’art : une œuvre est-elle l’original ?

Vous pouvez vous engager avec un objet représenté par un NFT sur la blockchain par le biais d’un ou plusieurs jeux ou d’autres formes de dApps.

Vous voulez créer un jeu NFT ? Continuez de lire !

Qu’est-ce que le standard ERC ?

ERC est l’abréviation de « Ethereum Request for Comment ».

ERC20, l’interface standard pour les jetons Ethereum, est la norme ERC la plus connue.

Des jetons comme BNB, BAT, USDT, UNI et DAI sont ERC20 sur le réseau Ethereum. ERC721 fait référence aux NFTs.

Les ERC721, comme les ERC20, peuvent être produits et programmés avec des contrats intelligents, mais ils sont accompagnés d’un historique des transactions.

Qu’est-ce que le standard ERC-721 ?

Comme nous l’avons mentionné, les NFT commencent avec la norme de jeton ERC721, qui a une syntaxe similaire à celle des ERC20, avec quelques modifications.

Pour que votre contrat soit considéré comme un NFT, il suffit qu’il respecte cette norme.

Les NFT ont une variable tokenURI dont nous allons parler dans une minute, et ils ont une correspondance entre un tokenId et son propriétaire, où chaque token a son propre « propriétaire ». Cela les différencie des ERC20, qui n’ont qu’une correspondance entre une adresse et un solde. Les ERC721 permettent toujours aux gens de transférer les jetons, de définir des autorisations sur les jetons, et plus encore. Il s’agit d’une norme légère par convention, de sorte que nous pouvons construire ce que nous voulons avec eux.

C’est maintenant que les choses deviennent vraiment différentes. Les métadonnées. Lorsque vous allez sur OpenSea (une place de marché NFT populaire), vous pouvez voir un tas d’images. Puisque les NFT sont sur la blockchain, toutes leurs données devraient être sur la blockchain, non ? Eh bien, pas tout à fait.

Le stockage des données sur la chaîne peut coûter très cher, et l’art n’est pas connu pour sa petite taille. Les développeurs d’Ethereum et de contrats intelligents ont réalisé que le téléchargement d’une image, même de 1 Mo, pouvait ruiner leur compte en banque. Ils ont donc voulu trouver un moyen d’afficher des œuvres d’art sans avoir à télécharger l’image entière.

Comme solution de rechange, la plupart des NFT ont ce que l’on appelle un tokenURI. Il s’agit d’un identifiant unique au monde pour tous les aspects de l’image d’un NFT. Il est ainsi plus facile de donner des visuels aux NFT. Un URI est un identifiant de ressource uniforme, qui peut être un appel API HTTPS, quelque chose via IPFS, ou tout autre type d’identifiant unique.

Ce sont des fichiers JSON qui ont :

  • Un nom
  • Une description
  • Une image
  • Des attributs

Ils sont généralement stockés dans une API ou sur IPFS.

Qu’est-ce que le standard ERC1125 ?

ERC1155 est une autre norme de tokenisation qui tente de rendre les transferts de NFT (et de jetons) plus rapides et plus efficaces.

Enjin a créé cette norme, qui est également connue sous le nom de « norme multi jetons de nouvelle génération ».

Par rapport aux transferts ERC-721, l’ERC-1125 réduit les frais de gaz de 90%. Le seul inconvénient significatif est que le NFT est plus difficile à tracer en termes de propriété – pour sauvegarder les données enregistrées sur la blockchain ERC-1155.

Ainsi, ERC1125 peut avoir plus de sens pour les jeux vidéo blockchain qui nécessitent moins de traçabilité et de sécurité, mais qui exigent de la vitesse et un coût minimal.

Cependant, pour le reste de cette leçon, nous nous concentrerons sur ERC-721 puisque nous voulons  » minter  » vos chefs-d’œuvre artistiques.

Les étapes pour créer votre propre NFT avec Javascript & Solidity

Comment ajouter un fichier sur IPFS ?

Nous devons héberger notre art et produire un fichier de métadonnées avant de pouvoir écrire le contrat intelligent pour notre NFT.

Nous utiliserons IPFS pour ce faire. IPFS est un système décentralisé de stockage et de partage de fichiers dont l’utilisation est gratuite.

Suivez la procédure d’installation dans le manuel IPFS pour télécharger et installer IPFS CLI pour votre système d’exploitation.

Étape 1 : Créer un dépôt IPFS.

Après avoir installé IPFS, vous disposerez de la commande ipfs init que vous devez activer, pour mettre IPFS en marche.

ipfs init

Étape 2 : Démarrer le daemon IPFS

Daemon IPFS doit ensuite être lancé. Toujours dans le terminal, entrez

ipfs daemon

Étape 3 : télécharger un fichier vers IPFS

Ensuite, dans une fenêtre séparée, utilisez la commande ipfs add pour télécharger des fichiers. Incluons donc un fichier appelé 0.jpeg :

ipfs add 0.jpeg

En sortie, ce programme génère un hachage qui commence par Qm. Mettez ce hachage de côté ; vous en aurez besoin pour visualiser le fichier que vous venez de télécharger.

Après quelques instants, naviguez vers le lien de votre fichier :

https://ipfs.io/ipfs/<LE_HASH_QM_DU_VISUEL>

Étape 4 : publier le fichier JSON sur IPFS.

En plus d’afficher le visuel de notre NFT, nous devons fournir un fichier contenant les informations du NFT, comme son nom, sa description et un lien vers sa photo.

Ainsi, créez un fichier nommé 0.json et collez-y le texte suivant :

{

« name »: « Comment Coder »,

« description »: « Logo du site CommentCoder.com »,

« image »: « https://ipfs.io/ipfs/<LE_HASH_QM_DU_VISUEL> »

}

Pour conclure l’utilisation de IPFS, nous allons soumettre le fichier JSON contenant les informations de notre NFT.

ipfs add 0.json

Cette commande renverra une fois de plus un hachage. Ce hachage complète l’URI nécessaire pour « miner » le NFT.

https://ipfs.io/ipfs/<LE_HASH_QM_DU_JSON>

Étape 5 : créer un contrat intelligent NFT.

Enfin, de la programmation !

Pour des raisons de sécurité et de simplicité, nous allons commencer par un contrat intelligent de base provenant du repo github « 0xcert », auquel nous allons simplement ajouter la fonction permettant de « miner » le NFT.

Et c’est tout le code dont nous aurons besoin pour construire notre contrat intelligent !

// SPDX-License-Identifier: MIT

pragma solidity 0.8.0;

import « https://github.com/0xcert/ethereum-erc721/src/contracts/tokens/nf-token-metadata.sol »;

import « https://github.com/0xcert/ethereum-erc721/src/contracts/ownership/ownable.sol »;

contract newNFT is NFTokenMetadata, Ownable {

constructor() {

nftName = « Le nom de mon NFT »;

nftSymbol = « NOM »;

}

function mint(address _to, uint256 _tokenId, string calldata _uri) external onlyOwner {

super._mint(_to, _tokenId);

super._setTokenUri(_tokenId, _uri);

}

}

Il faut maintenant compiler et distribuer notre contrat intelligent… et il existe pour cela une solution fantastique qui ne nécessite aucune installation sur votre machine : Remix

Allez sur le site et collez le code après avoir mis à jour les valeurs des variables nftName et nftSymbol du constructeur.

Étape 6 : Assemblez le contrat intelligent.

Cliquez sur le deuxième bouton « Solidity Compiler » présent dans le champ de gauche de Remix. Si nécessaire, modifiez les paramètres puis cliquez sur Compile <VOTRE_SMART_CONTRACT>.sol

Étape 7 : Mettez le contrat intelligent en action.

Nous devrons déployer votre contrat intelligent sur la blockchain Ethereum une fois qu’il aura été développé.

Avant de commencer, assurez-vous que vous êtes connecté au réseau de test Ropsten d’Ethereum. Pour vous connecter à Ropsten, cliquez sur « Ethereum Mainnet » au-dessus de la fenêtre pop-up Metamask et passez à « Ropsten Test Network ».

Si c’est la première fois que vous utilisez Ropsten, vous pouvez obtenir de l’ETH de test gratuit grâce au Ropsten Ethereum Faucet.

Naviguez vers la zone « Deploy and run transactions” en cliquant sur la troisième icône dans le menu de gauche de Remix.

Sélectionnez « Inject Web3 » et le réseau de test Metamask Ropsten.

Pour remplir les variables, déroulez le champ « Mint » :

_to : l’adresse de votre porte-monnaie metamask (Ropsten)

_tokenId : entrez « 1 » car il n’y aura qu’un seul NFT.

_uri : l’url IPFS de votre fichier JSON

Après avoir confirmé votre transaction, utilisez le bouton Transact pour obtenir votre NFT.

Félicitations ! Votre NFT est maintenant disponible sur la Blockchain Ethereum ! Nous avons utilisé le testnet Ropsten pour cette leçon, mais vous pouvez utiliser le Mainnet Ethereum et suivre les mêmes instructions.

Vous pouvez ensuite vous connecter à une place de marché pour voir (ou vendre) votre NFT.

Quels sont les marketplaces les plus populaires pour NFT ?

Maintenant que vous avez le code pour créer des NFT, vous pouvez souhaiter le vendre et peut-être acquérir d’autres NFT.

Vous pouvez échanger vos NFT sur différents marchés notamment :

OpenSea

OpenSea est une place de marché décentralisée pour les objets de collection en crypto-monnaies et les jetons non fongibles. Elle couvre les objets de collection ainsi que d’autres objets virtuels qui existent sur la blockchain. Toute personne présente sur OpenSea peut acheter ou vendre ces jetons non fongibles à l’aide de contrats intelligents Ethereum.

Rarible

Rarible est une place de marché alimentée par la blockchain pour l’art numérique et les jetons non fongibles tokenisés. L’objectif de la plateforme est de mettre en relation les vendeurs de NFT avec les acheteurs.

Mintable

Mintable est une plateforme basée sur Ethereum qui permet aux utilisateurs de produire, distribuer, acheter, vendre et échanger des fichiers numériques sur la blockchain par le biais de contrats intelligents.

Valuables

Cent est essentiellement un réseau social qui a été fondé en 2017 avec l’objectif d’aider les innovateurs à gagner de l’argent en cryptocurrency. Et aussi lancé Valuables en 2020, permettant aux utilisateurs d’échanger ou d’acquérir des Tweets sous forme de NFT. Cent produit le NFT si le propriétaire du tweet l’approuve.

Sorare

Sorare est un projet NFT basé sur un jeu de football. Cela vous permet d’acheter et d’échanger des joueurs de football pour construire votre équipe virtuelle avec des cartes de joueurs.

Comment créer et vendre des NFT sur Opensea ?

Il est possible de construire un NFT et de le vendre sans le coder sur une place de marché telle qu’OpenSea.

Comment s’inscrire à OpenSea ?

Naviguez sur OpenSea et cliquez sur le bouton de connexion.

Sélectionnez une méthode pour lier votre portefeuille. Si vous n’êtes pas sûr de ce dont je parle, je vous recommande d’essayer Metamask.

Pour ce faire, vous devrez installer l’extension de navigateur Metamask et y configurer un portefeuille « wallet».

Ensuite, complétez votre profil, confirmez votre adresse e-mail, et votre compte OpenSea est prêt.

Comment créer un NFT sur OpenSea ?

Pour créer un NFT dans OpenSea, allez dans le menu supérieur et cliquez sur l’option « Créer ».

Vous serez dirigé vers un formulaire où vous pourrez télécharger votre fichier (jpeg ou autre format d’image, vidéo, audio ou modèle 3D), le nommer, le décrire, l’ajouter à une collection et définir ses caractéristiques.

Une fois le formulaire rempli, cliquez sur le bouton Créer en bas de la page pour achever la construction de votre NFT.

Comment vendre un NFT sur OpenSea ?

Vous pouvez vendre vos NFTs après les avoir créés ou acquis. Naviguez jusqu’à la page du NFT que vous souhaitez vendre, puis cliquez sur « liste » et ensuite « vendre ».

Ensuite, décidez si vous voulez vendre votre NFT aux enchères ou à un prix prédéterminé, ainsi que le prix. D’autres choix sont possibles si vous souhaitez faire une vente privée ou baisser progressivement le prix.

Il est important de noter que la mise en vente d’un NFT sur OpenSea coûte de l’argent puisque la plateforme prendra un pourcentage de la vente si elle est réussie, et que vous devrez également signer la transaction en Ethereum.

Vous n’avez pas assez d’ETH pour signer la transaction ? Alors le paragraphe ci-dessous vous sera utile.

Acheter de l’ETH pour vendre un NFT sur OpenSea Comme nous l’avons dit précédemment, vous aurez besoin d’Ethereum pour proposer votre NFT sur OpenSea ou d’autres places de marché décentralisées.

Donc, si vous n’avez pas encore d’ETH dans votre portefeuille, vous devrez en acquérir. Et si vous n’avez pas de crypto sur les bourses, vous devrez vous inscrire à l’une d’entre elles.

Pour commencer, je recommande Coinbase si vous êtes complètement novice, et Binance si vous avez déjà une certaine familiarité avec les cryptos ou le trading.

COINBASE

Coinbase est peut-être l’option la plus simple pour acheter vos premières crypto-monnaies, comme l’Ether, dont vous aurez besoin pour annoncer vos NFTs sur OpenSea.

Après avoir acheté de l’ETH, vous pouvez l’envoyer sur votre compte Metamask et inscrire (ou acheter) des NFT sur OpenSea.

BINANCE

Binance est une bourse de crypto-monnaies où vous pouvez acheter et vendre vos pièces. C’est comparable à Coinbase, cependant il est un peu plus difficile à utiliser en raison de sa plus grande complexité et exhaustivité.

Cependant, Binance dispose de sa propre place de marché NFT. La place de marché NFT de Binance est comparable à OpenSea mais ne nécessite pas l’utilisation d’un portefeuille tel que Metamask.

Comment pouvez-vous protéger vos NFT ?

Lorsque vous achetez des NFT sur des sites tels qu’OpenSea, ceux-ci sont ajoutés à votre wallet Metamask.

Metamask est un « hot wallet », ce qui signifie qu’il est connecté à Internet et protégé par un mot de passe. Cela signifie que si quelqu’un vous observe en train de saisir votre mot de passe et accède à votre ordinateur, il a la possibilité de voler votre NFT.

Si vous souhaitez améliorer la sécurité de vos actifs numériques, vous pouvez utiliser un système de stockage à froid physique tel que Ledger ou Trezor.

Ledger

Ledger est une startup française qui fabrique et distribue des portefeuilles matériels ultra-sécurisés. Cela reviendrait à placer vos œuvres d’art dans un endroit sécurisé pour vos NFT.

Trezor

Trezor est une autre alternative à Ledger qui est sur le marché depuis 2014. Leurs produits, comme ceux de ledger, combinent la commodité d’un hot wallet avec la sécurité du stockage à froid.

Avec les NFT, vous pouvez explorer un tout nouvel univers.

Bravo ! Vous saisissez désormais la signification d’un NFT et la manière de créer votre propre contrat intelligent pour déployer des NFT sur le réseau principal Ethereum et les réseaux de test. Mais vous savez aussi comment acquérir, échanger et protéger vos NFT et autres crypto-actifs.

La blockchain est l’industrie rêvée des développeurs pour diverses raisons :

Comme tout ce qui se trouve sur le Web3.0 est encore à développer, les boîtes crypto ont désespérément besoin de talents, et leurs rémunérations sont parmi les plus alléchantes.

Recommended For You

About the Author: Samuel

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *