
Développement Solana 101 - Comment créer un NFT sur Solana
GM ! Dans cet article, nous allons explorer l’univers des jetons non fongibles (NFT) sur Solana.
À la fin de cet article, vous devriez bien comprendre le processus et être en mesure de créer vos propres NFT sur Solana avec JavaScript.
Si vous avez des questions, n’hésitez pas à rejoindre le Discord de Helius ou à mentionner Helius sur Twitter pour obtenir de l’aide.
Installer les prérequis :
Avant de commencer, vérifiez que Node.js et npm sont installés sur votre machine. Vous pouvez les télécharger ici.
Étape 1 : installer les dépendances
Nous devons d’abord installer les dépendances nécessaires.
Exécutez les commandes suivantes dans votre terminal pour installer l’API JavaScript de Solana et la bibliothèque JavaScript de Metaplex :
npm install @solana/web3.js @metaplex-foundation/jsÉtape 2 : importer les dépendances
Nous pouvons ensuite créer un nouveau fichier nommé mintNFTs.js et commencer par importer les dépendances requises :
const { Keypair, Connection } = require('@solana/web3.js');
const { Metaplex,keypairIdentity, bundlrStorage,toMetaplexFile } = require('@metaplex-foundation/js');
const {fs} = require('fs');Étape 3 : créer un portefeuille, initialiser une connexion et créer une instance Metaplex
Nous devons créer un portefeuille Solana qui servira à frapper et à conserver le NFT. Pour cela, nous utiliserons les outils Solana CLI. Exécutez la commande suivante dans le terminal pour obtenir un nouveau portefeuille. Celui-ci sera enregistré sous forme de fichier JSON contenant la phrase de récupération.
solana-keygen newVous pouvez l’importer dans une extension de portefeuille pour navigateur telle que Phantom ou Backpack.
Veillez à ne jamais communiquer votre clé privée à qui que ce soit.
Nous initialisons maintenant une connexion au cluster Solana. Nous utiliserons Helius pour nous connecter à un cluster mainnet, car ce service est plus rapide que le RPC public, dont le débit est fortement limité et qui ne propose pas de fonctionnalités d’archivage. ( https://api.mainnet-beta.solana.com ). Si vous souhaitez également utiliser un service RPC plus rapide et plus haut de gamme que le RPC standard, vous pouvez créer gratuitement un compte Helius ici.
Nous allons ensuite créer une paire de clés de portefeuille à partir de la phrase de récupération du portefeuille que nous venons de créer.
async function createMetadata(imageName) {
// Create an image buffer
const metadataURI = await metaplex.nfts().uploadMetadata({
name: "Helius NFT",
description: "Helius NFT created in the SolanaDev 101 course",
// Image: await uploadIMG(imageName),
image: await toMetaplexFile(fs.readFileSync(imageName), "heliusLogo"),
attributes: [
{ trait_type: "Test", value: "Yes" },
{ trait_type: "Logo", value: "Helius" },
],
});
return metadataURI;
}Dans le code ci-dessus, nous créons une instance du SDK Metaplex, une boîte à outils permettant d’interagir avec le protocole Metaplex. Nous configurons ensuite cette instance avec une connexion à un cluster Solana, le portefeuille de l’utilisateur et un fournisseur de stockage. .use(bundlrStorage()) configure l’instance pour utiliser Bundlr comme fournisseur de stockage, où seront stockés les métadonnées et les actifs des NFT.
Étape 4 : créer et téléverser les métadonnées du NFT
Au cours de cette étape, nous allons créer et téléverser les métadonnées et l’image du NFT à l’aide de la fonction createMetadata().
L’image est l’un des éléments essentiels d’un NFT. Dans cet exemple, nous utiliserons cette image du logo Helius ! Veillez à ajouter l’image que vous souhaitez utiliser dans le répertoire où vous avez créé le fichier mintNFT.js.
Cette fonction commence par lire le fichier image spécifié par imageName à l’aide de fs, puis le convertit dans un format adapté à Metaplex avec toMetaplexFile(). Nous téléversons ensuite les métadonnées à l’aide de la fonction metaplex.nfts().uploadMetadata().
Les métadonnées contiennent des informations importantes sur notre NFT, notamment son nom, une description, l’image que nous avons préparée et un ensemble d’attributs fournissant des détails supplémentaires sur le NFT. Vous pouvez inclure beaucoup plus de données dans votre NFT. Pour en savoir plus sur la norme NFT de Metaplex, consultez cette page ici.
Une fois les métadonnées téléversées, la fonction renvoie leur URI, qui pointe vers l’emplacement en ligne des données.
async function createMetadata(imageName) {
// Create an image buffer
const metadataURI = await metaplex.nfts().uploadMetadata({
name: "Helius NFT",
description: "Helius NFT created in the SolanaDev 101 course",
// Image: await uploadIMG(imageName),
image: await toMetaplexFile(fs.readFileSync(imageName), "heliusLogo"),
attributes: [
{ trait_type: "Test", value: "Yes" },
{ trait_type: "Logo", value: "Helius" },
],
});
return metadataURI;
}Étape 5 : frapper le NFT
Nous allons maintenant frapper le NFT en créant une fonction nommée createNFT(). Nous commençons par appeler la fonction createMetadata() avec "./heliusLogo.png" comme argument (le chemin d’accès au fichier image).
Nous frappons ensuite le NFT en appelant metaplex.nfts().create(). Cette fonction reçoit un objet comportant plusieurs propriétés, comme l’URI des métadonnées, le nom du NFT, une commission de vente (fixée ici à 5 %) et un tableau de créateurs. Chaque objet créateur comprend l’adresse et le pourcentage des redevances que le portefeuille doit recevoir.
Une fois le NFT créé, la fonction enregistre son adresse de mint. Cette adresse est un identifiant unique du NFT sur la blockchain. Vous pouvez la copier et rechercher le NFT dans un explorateur de blocs tel que Orb.
async function createNFT() {
// Create and upload the metadata
const metadata = await createMetadata("./heliusLogo.png");
// Create the NFT
const nft = await metaplex.nfts().create({
uri: metadata.uri,
name: "Helius NFT",
seller_fee_basis_points: 500, // 5%
creators: [{ address: wallet.publicKey, verified: true, share: 100 }],
});
// Log the NFT mint address
console.log("NFT:", nft.mintAddress.toBase58());
}
createNFT();L’exécution de ce code avec node mintNFT.js a créé le NFT visible ici.
Conclusion
Félicitations ! Vous venez de créer un NFT. J’espère que ce tutoriel vous a aidé à faire vos premiers pas avec les NFT sur Solana. Les NFT sont un élément fondamental de l’écosystème Solana. Comprendre leur structure et savoir les créer est donc une compétence très utile.
Vous trouverez le code complet ici. Bon développement !
Références :
Articles associés
Abonnez-vous à Helius
Suivez les dernières actualités du développement sur Solana et recevez une notification à chaque publication


