3. Uploader vos NFTs

Uploader vos NFTs

Avant d’upload les NFTs, il est nécessaire de créer le fichier JSON qui comporte les paramètres de la Candy Machine. Pour cela, créer un nouveau fichier en faisant clic droit->New file sur le dossier metaplex/js/packages/cli/src et appelez le config.json.

Créer le fichier config.json

Ouvrez ensuite ce fichier, copiez les lignes suivantes et modifiez les suivant votre projet :

{
    "price": ,
    "number": ,
    "gatekeeper": ,
    "solTreasuryAccount": "",
    "splTokenAccount":"",
    "splToken":"",
    "goLiveDate": "",
    "endSettings": ,
    "whitelistMintSettings": ,
    "hiddenSettings":,
    "storage": "arweave",
    "ipfsInfuraProjectId": null,
    "ipfsInfuraSecret": null,
    "awsS3Bucket": null,
    "noRetainAuthority": false,
    "noMutable": false
  }

Avec :

  • price : prix des NFTs en $SOL ou en tokens SPL

  • number : nombre de NFTs à mettre en vente

  • gatekeeper : permet d’ajouter un captcha. Si vous en souhaitez un, ajoutez les lignes suivantes en prenant bien les accolades :

{
    "gatekeeperNetwork": "ignREusXmGrscGNUesoU9mxfds9AiYTezUKex2PsZV6",
    "expireOnUse": true
  }
  • solTreasuryAccount : adresse qui va recevoir les paiements en $SOL

  • splTokenAccount : adresse qui va recevoir les paiements en token SPL

  • splToken : adresse du token SPL avec lequel le paiement est possible

  • goLiveDate : date au format "11 Dec 2021 13:00:00 CST" à partir de laquelle le mint est possible. Mettre "now" si vous voulez que le mint soit possible à partir du moment où la Candy Machine est créée

  • endSettings : date ou quantité de NFTs mintés après quoi la Candy Machine est fermée et le mint plus possible.

Si vous voulez terminer le mint à une date précise, ajoutez les lignes suivantes :

{
   "endSettingType": { "date": true },
   "value": "date au format “11 Dec 2021 13:30:00 CST”"
 }

Si vous voulez terminer le mint après une certaine quantité de NFTs vendue, ajoutez les lignes suivantes :

{
        "endSettingType": { "amount": true },
        "value": quantité voulue
      }
  • whitelistMintSettings : paramètres de la whitelist. Vous pouvez ici ajouter des options pour burn ou non le token de whitelist, ajouter un discount sur le prix du mint, faire une pre-sale,…

  • Si vous souhaitez ajouter une whitelist uniquement pour faire une prévente (c'est à dire permettre aux personnes whitelistées de mint avant la date définie dans goLiveDate), que le token de whitelist soit brulé à chaque fois (un token permet ainsi de mint une seule fois) et qu'une fois la vente publique lancée, les whitelistés n'ont pas d'avantages, renseignez les paramètres suivants:

"whitelistMintSettings": {
    "mode" : { "burnEveryTime": true },
    "mint" : "7nE1GmnMmDKiycFkpHF7mKtxt356FQzVonZqBWsTWZNf",
    "presale" : true,
    "discountPrice" : null
}

En renseignant dans mint l'adresse du token de whitelist. Vous pouvez apprendre à créer un token de whitelist ici.

  • Si vous souhaitez ajouter une whitelist pour une prévente (c'est à dire permettre aux personnes whitelistées de mint avant la date définie dans goLiveDate), que le token de whitelist soit brulé à chaque fois et que la whitelist permette d'avoir une réduction (une fois la vente publique lancée, les whitelistés garde la réduction sur le prix du mint), renseignez les paramètres suivants:

"whitelistMintSettings": {
    "mode" : { "burnEveryTime": true },
    "mint" : "7nE1GmnMmDKiycFkpHF7mKtxt356FQzVonZqBWsTWZNf",
    "presale" : true,
    "discountPrice" : 0.5
}

En renseignant dans mint l'adresse du token de whitelist et dans discountPrice le prix que les whitelistés vont payer.

  • Si vous souhaitez ajouter une whitelist pour une prévente (c'est à dire permettre aux personnes whitelistées de mint avant la date définie dans goLiveDate), que le token de whitelist ne soit pas brulé à chaque fois (un token de whitelist permet de mint plusieurs NFTs) et que la whitelist permette d'avoir une réduction (une fois la vente publique lancée, les whitelistés garde la réduction sur le prix du mint), renseignez les paramètres suivants:

"whitelistMintSettings": {
    "mode" : { "neverBurn": true },
    "mint" : "7nE1GmnMmDKiycFkpHF7mKtxt356FQzVonZqBWsTWZNf",
    "presale" : true,
    "discountPrice" : 0.5
}

En renseignant dans mint l'adresse du token de whitelist et dans discountPrice le prix que les whitelistés vont payer.

  • Si vous souhaitez ajouter une whitelist où le token de whitelist n'est pas brulé à chaque fois (un token de whitelist permet de mint plusieurs NFTs) et que la whitelist permette d'avoir une réduction (Ici, la whitelist permet seulement d'avoir une réduction sur le prix du mint), renseignez les paramètres suivants:

"whitelistMintSettings": {
    "mode" : { "neverBurn": true },
    "mint" : "7nE1GmnMmDKiycFkpHF7mKtxt356FQzVonZqBWsTWZNf",
    "presale" : false,
    "discountPrice" : 0.5
}

En renseignant dans mint l'adresse du token de whitelist et dans discountPrice le prix que les whitelistés vont payer.

  • Si vous souhaitez que le mint soit uniquement destiné aux personnes whitelistées, renseignez les paramètres suivants:

"whitelistMintSettings": {
    "mode" : { "burnEveryTime": true },
    "mint" : "7nE1GmnMmDKiycFkpHF7mKtxt356FQzVonZqBWsTWZNf",
    "presale" : false,
    "discountPrice" : null
}

En renseignant dans mint l'adresse du token de whitelist.

  • hiddenSettings : si vous comptez mint plus de 20k NFTs, considérez cette option. Etant également assez spécifique, je vous renvoie vers la documentation de Metaplex disponible ici afin d’en savoir plus.

Pour les autres points, la documentation ne donne pas de détails sur leur utilité et le champ des possibles permis. Laissez donc les valeurs par défaut.

  • Si vous n’avez pas besoin d’un des paramètres, ne supprimez pas la ligne au risque d’avoir une erreur. Fixez plutôt le paramètre à null

  • Vous ne pouvez pas accepter le paiement de vos NFTs en $SOL et en tokens SPL en même temps. Vous devez donc faire un choix entre ces deux moyens de paiements

Une fois le fichier config.json modifié vous pouvez uploader vos NFTs. Pour cela, lancez tout d’abord plusieurs fois la commande cd.. afin de retourner dans votre fichier local de développement.

Se déplacer dans le dossier local de développement

Pour Windows

Uploadez ensuite vos NFTs avec la commande :

ts-node chemin_d_accès_candy-machine-v2-cli.ts upload ./assets -e devnet -k <PATH_keypair.json> -cp <PATH_config.json>

Avec :

  • chemin_d_accès_candy-machine-v2-cli.ts qui est le chemin qui pointe vers l’endroit où est situé le fichier candy-machine-v2-cli.ts.

    Pour trouver ce chemin d’accès, déroulez sur Visual Studio Code l’arborescence de js puis packages, cli et enfin src. Faites ensuite un clic-droit sur le fichier candy-machine-v2-cli.ts puis Copy Path. Ce chemin d’accès devrait ressembler à ce qui suit : C:\Users\...\metaplex\js\packages\cli\src\candy-machine-v2-cli.ts

  • <PATH_keypair.json> le chemin qui pointe vers l’endroit où est situé le fichier keypair.json créé au chapitre Créer un wallet Solana

  • <PATH_config.json> le chemin qui pointe vers l’endroit où est situé le fichier config.json

Ainsi, dans mon cas cette commande est :

ts-node D:\Metaplex\Tuto_CandyMachine\metaplex\js\packages\cli\src\candy-machine-v2-cli.ts upload ./assets -e devnet -k D:\Metaplex\Tuto_CandyMachine\keypair.json -cp D:\Metaplex\Tuto_CandyMachine\metaplex\js\packages\cli\src\config.json

Pour MAC

Uploadez ensuite vos NFTs avec la commande :

ts-node ~/DOSSIER_LOCAL_DEVELOPPEMENT/metaplex/js/packages/cli/src/candy-machine-v2-cli.ts upload ./assets -e devnet -k <PATH_keypair.json> -cp <PATH_config.json> 

Avec :

  • DOSSIER_LOCAL_DEVELOPPEMENT le nom du dossier dans lequel vous avez téléchargé le code de Metaplex

  • <PATH_keypair.json> le chemin qui pointe vers l’endroit où est situé le fichier keypair.json créé au chapitre Créer un wallet Solana

  • <PATH_config.json> le chemin qui pointe vers l’endroit où est situé le fichier config.json

Pour uploader vos NFTs sur le Mainnet remplacez dans la ligne de commande devnet par mainnet-beta

Une fois la commande lancée, vous aurez un résultat similaire à la figure suivante :

Résultat une fois vos NFTs uploadés

Dans ces lignes se trouve la clé publique de la configuration de votre Candy Machine. Copiez-la et collez-la dans un fichier texte car vous en aurez besoin pour la suite.

Vérifier l'upload

Vos NFTs devraient maintenant être uploadés sur la blockchain. Pour le vérifier, appuyez sur la flèche du haut de votre clavier pour faire apparaitre la commande précédemment utilisée. Dans cette commande remplacez upload par verify_upload supprimez ./assets et tout ce qui suit à partir de – cp puis appuyez sur « Entrée ».

Ainsi, dans mon cas cette commande est :

ts-node D:\Metaplex\Tuto_CandyMachine\metaplex\js\packages\cli\src\candy-machine-v2-cli.ts verify_upload -e devnet -k D:\Metaplex\Tuto_CandyMachine\keypair.json

Si vous avez le message suivant alors vous pouvez passer au chapitre suivant :

Résultat si l’upload est bon

Sinon, réexécutez de nouveau la commande pour recommencer l’upload.

Last updated