
Solana Dev 101 – So prägst du ein NFT auf Solana
Inhaltsverzeichnis
GM! In diesem Blog tauchen wir in die Welt der Non-Fungible Tokens (NFTs) auf Solana ein.
Am Ende dieses Beitrags kennst du den gesamten Ablauf und kannst mit JavaScript eigene NFTs auf Solana erstellen.
Wenn du Fragen hast, tritt dem Helius-Discord bei oder markiere Helius auf Twitter, um Hilfe zu erhalten.
Voraussetzungen installieren:
Bevor wir beginnen, stelle sicher, dass Node.js und npm auf deinem Rechner installiert sind. Du kannst sie hier herunterladen.
Schritt 1: Abhängigkeiten installieren
Zuerst müssen wir die erforderlichen Abhängigkeiten installieren.
Führe die folgenden Befehle in deinem Terminal aus, um die Solana JavaScript API und die Metaplex-JavaScript-Bibliothek zu installieren:
npm install @solana/web3.js @metaplex-foundation/jsSchritt 2: Abhängigkeiten importieren
Als Nächstes erstellen wir eine neue Datei namens mintNFTs.js und importieren die erforderlichen Abhängigkeiten:
const { Keypair, Connection } = require('@solana/web3.js');
const { Metaplex,keypairIdentity, bundlrStorage,toMetaplexFile } = require('@metaplex-foundation/js');
const {fs} = require('fs');Schritt 3: Wallet erstellen, Verbindung initialisieren und Metaplex-Instanz erstellen
Wir müssen eine Solana-Wallet erstellen, mit der wir das NFT prägen und verwahren. Dafür verwenden wir die Solana CLI-Tools. Führe den folgenden Befehl im Terminal aus, um eine neue Wallet zu erstellen. Diese Wallet wird als JSON-Datei mit der Wiederherstellungsphrase gespeichert.
solana-keygen newDu kannst sie in eine Browser-Wallet-Erweiterung wie Phantom oder Backpack importieren.
Teile deinen privaten Schlüssel niemals mit anderen.
Jetzt initialisieren wir eine Verbindung zum Solana-Cluster. Wir verwenden Helius, um uns mit einem Mainnet-Cluster zu verbinden. Das ist schneller als das öffentliche RPC, das stark ratenbegrenzt ist und keine Archivfunktionen bietet. ( https://api.mainnet-beta.solana.com ). Wenn du statt des Standard-RPC ebenfalls einen schnelleren Premium-RPC-Dienst nutzen möchtest, kannst du hier ein kostenloses Helius-Konto erstellen.
Anschließend erstellen wir aus der Wiederherstellungsphrase der gerade erstellten Wallet ein Wallet-Schlüsselpaar.
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;
}Im obigen Code erstellen wir eine Instanz des Metaplex SDK, eines Toolkits für die Interaktion mit dem Metaplex-Protokoll. Anschließend konfigurieren wir die Instanz mit einer Verbindung zu einem Solana-Cluster, der Wallet des Benutzers und einem Speicheranbieter. .use(bundlrStorage()) konfiguriert Bundlr als Speicheranbieter. Dort werden die Metadaten und Assets der NFTs gespeichert.
Schritt 4: NFT-Metadaten erstellen und hochladen
In diesem Schritt erstellen wir mit der Funktion createMetadata() die NFT-Metadaten und das Bild und laden beides hoch.
Das Bild gehört zu den wichtigsten Bestandteilen eines NFT. In diesem Beispiel verwenden wir dieses Bild des Helius-Logos. Füge das gewünschte Bild unbedingt dem Verzeichnis hinzu, in dem du die Datei mintNFT.js erstellt hast.
Diese Funktion liest zunächst die mit imageName angegebene Bilddatei über fs ein. Anschließend konvertiert sie das Bild mit toMetaplexFile() in ein für Metaplex geeignetes Format. Danach laden wir die Metadaten mit der Funktion metaplex.nfts().uploadMetadata() hoch.
Die Metadaten enthalten wichtige Details zu unserem NFT: seinen Namen, eine Beschreibung, das vorbereitete Bild und mehrere Attribute mit zusätzlichen Informationen zum NFT. Du kannst viele weitere Daten in dein NFT aufnehmen. Mehr über den Metaplex-NFT-Standard erfährst du hier.
Nachdem die Metadaten erfolgreich hochgeladen wurden, gibt die Funktion deren URI zurück. Sie verweist auf den Online-Speicherort der Daten.
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;
}Schritt 5: NFT prägen
Jetzt prägen wir das NFT. Dafür erstellen wir eine Funktion namens createNFT(). Zuerst rufen wir die Funktion createMetadata() mit "./heliusLogo.png" als Argument auf. Das ist der Pfad zur Bilddatei.
Anschließend prägen wir das NFT, indem wir metaplex.nfts().create() aufrufen. Diese Funktion erhält ein Objekt mit mehreren Eigenschaften: die Metadaten-URI, den Namen des NFT, eine Verkaufsgebühr – hier 5 % – und ein Array von Erstellern. Jedes Erstellerobjekt enthält eine Adresse und den prozentualen Anteil an den Lizenzgebühren, den die jeweilige Wallet erhalten soll.
Nachdem das NFT erfolgreich erstellt wurde, protokolliert die Funktion seine Mint-Adresse. Diese Mint-Adresse identifiziert das NFT eindeutig auf der Blockchain. Du kannst die Adresse kopieren und das NFT in einem Block-Explorer wie Orb aufrufen.
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();Wenn du diesen Code mit node mintNFT.js ausführst, wird das NFT erstellt, das du hier sehen kannst.
Fazit
Glückwunsch! Du hast gerade ein NFT erstellt. Ich hoffe, dieses Tutorial hat dir den Einstieg in NFTs auf Solana erleichtert. NFTs sind ein grundlegender Bestandteil des Solana-Ökosystems. Deshalb ist es eine wertvolle Fähigkeit, ihren Aufbau und ihre Erstellung zu verstehen.
Den vollständigen Code findest du hier. Viel Spaß beim Programmieren!
Quellen:
Ähnliche Artikel
Helius abonnieren
Bleib bei der Solana-Entwicklung auf dem Laufenden und erhalte Updates, wenn wir neue Beiträge veröffentlichen


