Comment créer une marketplace et des NFTs sur Metaplex ?

L'univers des NFTs grandit de manière exponentielle avec l'apparition de nouveaux projets chaque jour. Trouver le moyen de faire partie de cette aventure peut pourtant paraitre compliqué. Metaplex rentre donc en jeu pour simplifier ce processus et proposer une plateforme stable et simple d'utilisation pour les particuliers et les projets.

Ce tutoriel vous permet de comprendre en profondeur comment créer votre première marketplace sur la plateforme, la personnaliser pour ensuite créer et vendre vos NFTs

Les prérequis à la création de votre marketplace

Premièrement, pour la créer il vous faudra :

La procédure

Tout d'abord, veillez à bien suivre les étapes données ci-dessous pour ne commettre aucune erreur. Il est possible que depuis la rédaction de notre tutoriel, des morceaux de la procédure aient changé.

Fork le Repo de Metaplex

Photo montrant l'emplacement ou cliquer pour fork le Repo de Metaplex, c'est à dire en haut à droite de leur github
Fork le Repo de Metaplex

Connectez-vous sur Github et rendez-vous sur le Repo de Metaplex à cette adresse. Une fois fait, cliquez sur le bouton fork afin de créer un Repo sur votre compte Github.

Cloner le Repo

Ouvrez alors Visual Studio Code puis ouvrez un nouveau terminal en suivant ces étapes :

  1. Terminal
  2. New terminal
Photo montrant l'ouverture d'un nouveau terminal sur Visual Studio Code
Ouverture d'un nouveau terminal

Dans celui-ci, et depuis votre dossier local de développement, réalisez les étapes suivantes :

  1. Copiez cette commande : git clone https://github.com/yourusername/metaplex.git
  2. Remplacez « yourusername » par votre pseudo sur Github puis appuyer sur « Entrée ».
Photo montrant le fait d'avoir pu cloner le Repo
Cloner le Repo

Une fois cloné, ouvrez le dossier dans Visual Studio Code.

Changer l'adresse du wallet de la marketplace

Pour cela, il vous faudra une adresse Solana. Si vous n’en avez pas, nous vous recommandons d'utiliser l'extension Phantom afin d'en obtenir une. Nous vous renvoyons sur notre tutoriel “Comment utiliser Phantom” pour comprendre comment la maitriser.

Une fois cette adresse Solana créée. Suivez ensuite les étapes suivantes :

  1. Rendez-vous dans l'arborescence de Visual Studio Code
  2. Ouvrez le fichier ‘js/packages/web/.env’.
  3. Une fois ouvert, copiez votre adresse sur la 1ère ligne après le « = » et enregistrez en faisant « ctrl+S »
Photo montrant comment changer l'adresse du Wallet
Changer l'adresse du Wallet

Changer l'adresse de déploiement

  • Sans nom de domaine personnalisé

Ouvrez maintenant le fichier ‘js/packages/web/package.json’. Ici, repérez les deux lignes suivantes :

Photo montrant comment changer l'adresse de déploiement sans nom de domaine personnalisé
Changer l'adresse de déploiement

Il aura ensuite deux choses à modifier :

  1. Spécifiez l'URL de votre Repo au lieu de “https://github.com/metaplex-foundation/metaplex”. Par exemple “https://github.com/my-name/my-metaplex“.
  2. Mettez ASSET_PREFIX égal au nom de votre Repo (par exemple, ASSET_PREFIX=/my-metaplex/)

Si aucune erreur n'ont été commisses de votre part, les lignes ressembleront à ça :

Photo montrant le résultat du changement de l'adresse de déploiement sans nom de domaine personnalisé
Résultat du changement de l'adresse de déploiement – sans nom de domaine personnalisé
  • Avec nom de domaine personnalisé

Dans le cas où vous possédez un nom de domaine et que vous souhaitez que celui-ci renvoie vers votre marketplace, le changement de l’adresse de déploiement se fait comme dans la partie précédente à l’exception que dans la 2nde ligne vous devez supprimer ASSET_PREFIX. Vous devez ainsi avoir les deux lignes de codes suivantes :

Photo montrant le résultat du changement de l'adresse de déploiement avec nom de domaine personnalisé
Résultat du changement de l'adresse de déploiement – avec nom de domaine personnalisé

Dans le cas d’un nom de domaine personnalisé :

  1. Créer un nouveau fichier appelé CNAME dans le dossier ‘js/packages/web/public’.
  2. Dans ce fichier, vous devez simplement écrire votre nom de domaine puis enregistrez.

Build et déploiement

Une fois les étapes précédentes réalisées, est importante l’étape du build et du déploiement de votre code.

Si vous rencontrez des erreurs lors de cette étape, vous pouvez vous référer au chapitre ci-dessous.

  • Messages d'erreurs possibles et résolution

Pour cette étape, lancez successivement les commandes suivantes dans le terminal :

  1. cd js
  2. yarn

Une fois les dépendances téléchargées sur votre ordinateur, vous pouvez vérifier que tout est ok en lançant la commande « yarn bootstrap ».

Photo montrant le résultat de la commande "yarn bootstrap"
Résultat de la commande “yarn bootstrap”

Après avoir vérifié que tout est bon, lancez la commande « yarn build ».

Photo montrant le résultat de la commande "yarn build"
Résultat de la commande “yarn build”

Une fois votre “build” créé, exécutez les 2 commandes suivantes afin de déployer votre marketplace :

  1. cd packages/web
  2. yarn deploy

Une fois terminé d’exécuter, suivez les étapes suivantes :

  1. Retournez sur Github
  2. Allez dans votre Repo
  3. Rendez-vous dans Settings
  4. Allez sur Pages pour avoir l’URL de votre marketplace.

Dans le cas où vous avez choisi d’utiliser un nom de domaine personnalisé, votre marketplace est accessible sur votre nom de domaine.

Pour finaliser la création de votre marketplace, suivez les étapes suivantes :

  1. Rendez-vous sur votre marketplace
  2. Connectez-vous à votre wallet
  3. Cliquez sur “Init Store”
  4. Validez la transaction
Photo montrant la finalisation de la marketplace
Finalisation de la marketplace

Remarque :
Avant de créer votre marketplace pour de vrai, vous pouvez tester que tout fonctionne en initialisant votre marketplace sur le devnet.

Pour cela :

  1. Cliquez sur le logo en haut à droite
  2. Cliquez sur “mainnet-bêta”
  3. Sélectionnez le devnet
  4. Puis cliquez sur « Init Store » et validez la transaction.

Vous aurez besoin de $SOL sur le devnet

Photo montrant a quoi cela ressemble-t-il d'initialiser la marketplace sur le devnet
Initialisation de la marketplace sur la devnet

Personnaliser sa marketplace Metaplex

Cette partie aborde quelques éléments de personnalisation de votre marketplace. Ainsi, celle-ci parle de comment :

  • Ajouter des informations sur les vendeurs de votre marketplace
  • Ajouter des vendeurs ou rendre votre marketplace publique
  • Changer le titre de votre marketplace
  • Ajouter le nom de votre marketplace dans la barre de navigation

Ajouter des informations sur les vendeurs de votre marketplace

Vous avez la possibilité d’ajouter des informations sur les vendeurs présents sur votre
marketplace, en ajoutant pour chacun d’eux leur nom, une photo de profil ainsi qu’une bio.

Pour cela, suivez les étapes suivantes :

  1. Ouvrez le fichier ‘js/packages/web/src/config/userNames.json’.
  2. Une fois ouvert, ajoutez les informations sur vos vendeurs en veillant à respecter le même format que les objets déjà présents dans le fichier.
Photo montrant l'ajout d'information sur les vendeurs de votre marketplace
Ajout des informations sur les vendeurs de votre marketplace

Une fois les informations ajoutées, sauvegardez en faisant « Ctrl+S ». Assurez-vous ensuite d’être dans le dossier ‘js’ dans le terminal puis exécutez les commandes suivantes:

  1. yarn build
  2. cd packages/web
  3. yarn deploy

Une fois terminé, retournez sur votre marketplace puis rafraichissez la page en maintenant appuyé la touche « shift ». Vos modifications devraient être prise en compte.

Photo montrant les résultats après avoir ajouté une photo de profil et le nom du créateur à votre marketplace
Résultats après avoir ajouté une photo de profil et le nom du créateur

Ajouter des vendeurs ou rendre public votre marketplace

Vous pouvez également choisir si votre marketplace est publique. C’est-à-dire que tout le monde peut vendre sur votre marketplace sans votre approbation.

Et si celle-ci est sur whitelist, vous devez ajouter manuellement les adresses des vendeurs autorisés à vendre sur votre marketplace.

Pour cela, suivez les étapes suivantes :

  1. Rendez-vous sur ‘YOUR_URL/#/admin` en remplaçant « YOUR_URL» par l’URL de votre marketplace
  2. Pour ensuite accéder au panel d’administration de votre marketplace.
Photo montrant le panel d'administration
Panel d'administration

Ici, vous pouvez choisir si votre marketplace est publique ou non grâce au bouton situé en haut à droite du panel.

Photo montrant le choix d'une marketplace publique ou en whitelist
Choix d'une marketplace publique ou en whitelist

Dans le cas d’une marketplace en whitelist, vous devez ajouter les vendeurs manuellement grâce au bouton « Add Creator ».

Photo montrant l'ajout d'un vendeur dans le cas d'une marketplace en whitelist
Ajout d'un vendeur dans le cas d'une marketplace en whitelist

Ne pas oublier de cliquer sur « Submit » pour valider les modifications.

Changer le titre de votre marketplace

De plus, vous pouvez aussi changer le titre de votre marketplace qui est affiché dans l’onglet de votre navigateur. Par défaut, celui-ci est le suivant :

Photo montrant le titre par défaut de votre marketplace "Metaplex NFT Marketplace"
Titre par défaut de votre marketplace

Pour le modifier, effectuez les étapes suivantes :

  1. Ouvrez le fichier ‘js/packages/web/src/pages/_app.tsx’.
  2. Une fois ouvert, modifiez la ligne suivante en remplaçant « Metaplex NFT Marketplex » par le titre désiré.
Photo montrant comment changer le titre de votre marketplace
Changement du titre de votre marketplace

Une fois le titre modifié, sauvegardez en faisant « ctrl+S ». Assurez-vous ensuite d’être dans le dossier ‘js’ dans le terminal puis exécutez les commandes suivantes :

  1. yarn build
  2. cd packages/web
  3. yarn deploy

Une fois terminé, retournez sur votre marketplace puis rafraichissez la page en maintenant appuyé la touche « shift ». Votre modification devrait être prise en compte.

Ajouter le nom de votre marketplace dans la barre de navigation

Enfin, vous pouvez aussi ajouter le nom de votre marketplace dans la barre de navigation. En effet, celle-ci est la suivante :

Photo montrant la barre de navigation par défaut
Barre de navigation par défaut

Pour la modifier, effectuez les étapes suivantes :

  1. Ouvrez le fichier ‘js/packages/web/src/components/Notifications/index.tsx’.
  2. Une fois ouvert, modifiez la ligne suivante en remplaçant « M » par le nom de votre marketplace.
Photo montrant l'ajout du nom de votre marketplace dans la barre de navigation
Ajout du nom de votre marketplace dans la barre de navigation

Une fois modifié, sauvegardez en faisant « Ctrl+S ». Assurez-vous ensuite d’être dans le dossier ‘js’ dans le terminal puis exécutez les commandes suivantes :

  1. yarn build
  2. cd packages/web
  3. yarn deploy

Une fois terminé, retournez sur votre marketplace puis rafraichissez la page en maintenant appuyé la touche « shift ». Votre modification devrait être prise en compte.

Photo montrant à quoi ressemble la barre de navigation une fois modifiée
Barre de navigation une fois modifiée

Créer et vendre ses NFTs

Maintenant que nous avons pu parcourir comment créer une marketplace sur Metaplex, il ne nous reste plus qu'à comprendre comment créer et ajouter du contenu sur celle-ci. Vous avez la possibilité de transformer vos œuvres en NFTs mais aussi de les vendre directement sur votre marketplace.

Créer ses NFTs

Rendez-vous sur la marketplace et connectez votre wallet. Nous vous recommandons d’utiliser l’extension Phantom afin d’en obtenir une. Nous vous renvoyons une seconde fois sur notre tutoriel “Comment utiliser Phantom” pour comprendre comment la maitriser.

Une fois connecté à votre wallet, vous verrez que 2 boutons apparaissent à droite : un bouton « Create » et un bouton « Sell ». Le premier sert à mint vos NFTs alors que le second permet de les vendre en créant une vente aux enchères.

Pour créer un NFT vous devez cliquer sur « Create » puis choisir le type de NFT que vous souhaitez créer parmi la liste proposée.

Une photo montrant la liste des NFTs disponible sur Metaplex
Liste des NFTs disponibles sur Metaplex

Uploadez votre création ou renseignez le lien qui renvoie vers celle-ci puis cliquez sur « Continue to mint ».

Une photo montrant l'upload de votre création
Uploader sa création

Décrivez ensuite votre création en lui rajoutant un titre, une description, une supply maximum (quantité maximale pouvant être créée) ainsi que des attributs. Une fois fait, cliquez sur « Continue to royalties »

Vous pouvez maintenant ajouter un pourcentage de royalties à votre NFT. Ce pourcentage correspond à ce que vous gagnerez à chaque revente future sur le marché secondaire. Vous pouvez également répartir ces royalties entre plusieurs créateurs si souhaité. Pour cela, cliquez sur « Add another creator » et renseignez le créateur parmi la liste. Enfin, cliquez sur « Continue to review ».

Photo montrant la page d'ajout des royalties
Ajout des royalties

Il ne vous reste maintenant plus qu’à vérifier les informations, cliquez sur « Pay with sol » puis acceptez la transaction.

Voilà ! Votre NFT est créé ! .

Photo montrant le message reçu lors de la création de votre NFT
Vous avez créé votre NFT

Vendre ses NFTs

Une fois vos NFTs créés, vient maintenant le moment de les mettre en vente.

Pour cela, effectuez les étapes suivantes :

  1. Connectez-vous à votre wallet
  2. Cliquez sur le bouton « Sell ».
  3. Choisissez ensuite le type de vente que vous souhaitez réaliser.

Nous retrouvons ainsi comme type de vente possible :

  • Limited Edition : Dans le cas d’une vente aux enchères « Limited Edition », un Master Edition NFT (qui a un maximum supply limité ou non) est vendu aux enchères avec un nombre d'exemplaires correspondant au nombre de places gagnantes. Pour chaque place gagnante, un numéro de tirage (appelé Print) sera mint dans l'ordre de la place gagnante, et attribué au gagnant de cette place. Par exemple, dans le cas d’une vente aux enchères avec 10 places gagnantes, le gagnant de la première place repartira avec le NFT n°1/10, le deuxième avec le NFT n°2/10 et ainsi de suite.
  • Open Edition : Dans le cas d’une vente aux enchères « Open Edition », un Master Edition NFT sans maximum supply est vendu. Chaque personne qui mettra une enchère lors de la vente repartira avec un NFT.
  • Tiered Auction : Une enchère « Tiered Auction » peut être un mélange des trois autres types d'enchères. Par exemple, le gagnant de la première place pourrait remporter un tirage de l'édition limitée NFT A, tandis que le gagnant de la deuxième place pourrait remporter un tirage NFT normal, et ainsi de suite. En outre, tous les participants qui n'ont pas gagné de place pourraient obtenir un tirage NFT de participation d'une édition principale (si le Master Edition n'a pas de maximum supply).
  • Sell an Existing Item : Ce type d’enchère peut être utilisé pour vendre des NFTs « normaux », des Prints ou des Master Edition (avec les droits de print associés).

Ici, nous présenterons uniquement le cas d’une vente en « Limited Edition » puisque les 3 autres types de ventes sont relativement semblables. Il est à noter qu’une enchère en « Limited Edition » coutera plus cher en frais que celle en « Sell an Existing Item ». Dans le cas, d’une vente en « Limited Edition », il faut tout d’abord choisir le Master Edition NFT que vous souhaitez vendre ainsi que la quantité de copies à créer. Une fois cela fait, cliquez sur « Continue to terms ».

Remarque : Dans le cas d’une vente en « Sell an Existing Item », il n’y a pas besoin de préciser la quantité de copies à créer.

Cliquez ensuite sur « Continue » puis qu’actuellement uniquement des ventes par enchères sont possibles.

Photo montrant la page où vous pouvez choisir le type de vente
Choisir le type de vente

Renseignez ensuite le prix de départ de l’enchère en $SOL et l’incrément des enchères puis cliquez sur « Continue ».

Choisissez si vous souhaitez que l’enchère débute immédiatement ou à une date prédéterminée puis cliquez sur « Continue ».

Photo montrant la page où le choix de la date du début de l'enchère est fait
Choix de la date du début de l'enchère

Renseignez les informations sur la durée de l’enchère puis sur la phase finale de celle-ci. Le « Gap Time » représente le moment où la phase finale commence. En effet, lorsque le countdown est inférieur au « Gap Time » la phase finale débute. Dans cette phase, chaque enchère placée repoussera la fin de celle-ci d’une durée égale au « Gap Time ». Vous pouvez également renseigner le « Tick Size » de la phase finale. Pour que les gagnants puissent progresser dans l'enchère, ils doivent placer une offre supérieure d'au moins ce pourcentage à l'offre la plus élevée suivante. Cliquez ensuite sur « Continue ».

Photo montrant les informations sur la phase finale de l'enchère
Information sur la phase finale de l'enchère

Vous pouvez maintenant renseigner si vous souhaitez que les participants repartent avec un NFT de participation. Cliquez ensuite sur « Continue to review ».

Photo montrant la page ou un choix d'un NFT de participation est faisable pour les personnes ayant participé a l'enchère
Choix d'un NFT de participation

Il reste maintenant à vérifier les informations sur l’enchère et à la publier en cliquant sur « Publish Auction » et en acceptant la transaction.

Et voilà votre enchère est maintenant publiée !!

Messages d'erreur possibles et résolution

Voici quelques erreurs pouvant potentiellement vous arriver lors de la création de votre marketplace et de vos NFTs sur la plateforme. Il est possible que de nouvelles erreurs apparaissent avec le temps que nous n'avons pu malheureusement pas répertorier ici.

Le terme “yarn” n'est pas reconnu

  • Message d'erreur
Photo montrant le message d'erreur pour le terme "yarn"
Message d'erreur pour le terme “yarn”
  • Résolution

Lancez la commande « npm install –global yarn » dans le terminal de Visual Studio Code afin d’installer yarn.

Impossible de charger le fichier car l'exécution de scripts est désactivée sur ce système

  • Message d'erreur
Photo montrant le message d'erreur pour l'impossibilité de charger le fichier
Message d'erreur pour l'impossibilité de charger le fichier
  • Résolution

Pour résoudre cette erreur il faut :

  1. Démarrer « Windows Powershell » en tant qu’Administrateur
  2. Exécuter la commande suivante : « set-executionpolicy unrestricted »
  3. Valider par « O » (le o de oui)

Sources