
Solana Dev 101 - Cara Mencetak NFT di Solana
Daftar Isi
Selamat pagi! Dalam blog ini, kita akan mendalami dunia Non-Fungible Token (NFT) di Solana.
Di akhir artikel ini, Anda akan memahami prosesnya dengan jelas dan dapat membuat NFT Anda sendiri di Solana menggunakan JavaScript.
Jika memiliki pertanyaan, jangan ragu untuk bergabung ke Discord Helius atau menandai Helius di Twitter untuk mendapatkan bantuan.
Instal Prasyarat:
Sebelum memulai, pastikan Node.js dan npm telah terinstal di komputer Anda. Anda dapat mengunduhnya di sini.
Langkah 1: Instal Dependensi
Pertama, kita perlu menginstal dependensi yang diperlukan.
Jalankan perintah berikut di terminal Anda untuk menginstal API JavaScript Solana dan pustaka JavaScript Metaplex:
npm install @solana/web3.js @metaplex-foundation/jsLangkah 2: Impor Dependensi
Selanjutnya, kita dapat membuat file baru bernama mintNFTs.js dan mulai dengan mengimpor dependensi yang diperlukan:
const { Keypair, Connection } = require('@solana/web3.js');
const { Metaplex,keypairIdentity, bundlrStorage,toMetaplexFile } = require('@metaplex-foundation/js');
const {fs} = require('fs');Langkah 3: Buat Dompet, Inisialisasi Koneksi, dan Buat Instans Metaplex
Kita perlu membuat dompet Solana yang akan digunakan untuk mencetak dan menyimpan NFT. Untuk melakukannya, kita akan menggunakan alat Solana CLI. Anda dapat menjalankan perintah berikut di terminal untuk mendapatkan dompet baru. Dompet ini akan disimpan sebagai file JSON yang berisi frasa seed.
solana-keygen newAnda dapat mengimpornya ke ekstensi dompet browser seperti Phantom atau Backpack.
Pastikan Anda tidak membagikan private key kepada siapa pun.
Sekarang, kita menginisialisasi koneksi ke cluster Solana. Kita akan menggunakan Helius untuk terhubung ke cluster mainnet karena lebih cepat daripada RPC publik yang memiliki batas permintaan sangat ketat dan tidak memiliki kemampuan pengarsipan. ( https://api.mainnet-beta.solana.com ). Jika Anda juga ingin menggunakan layanan RPC yang lebih cepat dan premium sebagai pengganti RPC standar, Anda dapat membuat akun Helius gratis di sini.
Selanjutnya, kita akan membuat pasangan kunci dompet dari frasa seed dompet yang baru saja dibuat.
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;
}Dalam kode di atas, kita membuat instans Metaplex SDK, yaitu toolkit untuk berinteraksi dengan protokol Metaplex. Kemudian, kita mengonfigurasi instans tersebut dengan koneksi ke cluster Solana, dompet pengguna, dan penyedia penyimpanan. .use(bundlrStorage()) mengonfigurasi instans agar menggunakan Bundlr sebagai penyedia penyimpanan, tempat metadata dan aset NFT akan disimpan.
Langkah 4: Buat dan Unggah Metadata NFT
Pada langkah ini, kita akan membahas pembuatan dan pengunggahan metadata serta gambar NFT melalui fungsi createMetadata().
Salah satu bagian utama NFT adalah gambar. Dalam contoh ini, kita akan menggunakan gambar Logo Helius ini! Pastikan untuk menambahkan gambar yang ingin Anda gunakan ke direktori tempat Anda membuat file mintNFT.js.
Fungsi ini dimulai dengan membaca file gambar yang ditentukan oleh imageName menggunakan fs , lalu mengubahnya menjadi format yang sesuai untuk Metaplex dengan toMetaplexFile(). Kemudian, kita mengunggah metadata menggunakan fungsi metaplex.nfts().uploadMetadata().
Metadata tersebut berisi detail penting tentang NFT kita, termasuk nama, deskripsi, gambar yang telah disiapkan, dan sekumpulan atribut yang memberikan detail tambahan tentang NFT. Ada banyak data lain yang dapat disertakan dalam NFT. Anda dapat membaca lebih lanjut tentang standar NFT Metaplex di sini.
Setelah metadata berhasil diunggah, fungsi tersebut akan mengembalikan URI metadata yang mengarah ke lokasi online data tersebut.
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;
}Langkah 5: Mencetak NFT
Sekarang, kita melanjutkan proses pencetakan NFT dengan membuat fungsi bernama createNFT(). Pertama, kita memanggil fungsi createMetadata() dengan "./heliusLogo.png" sebagai argumen (jalur ke file gambar).
Selanjutnya, kita mencetak NFT dengan memanggil metaplex.nfts().create(). Fungsi ini menerima objek dengan beberapa properti, seperti URI metadata, nama NFT, biaya penjual (ditetapkan sebesar 5% di sini), dan array kreator. Setiap objek kreator mencakup alamat dan persentase bagian dari jumlah royalti yang akan diterima dompet tersebut.
Setelah NFT berhasil dibuat, fungsi tersebut akan mencatat alamat mint NFT. Alamat mint ini adalah pengenal unik untuk NFT di blockchain. Anda dapat menyalin alamat tersebut dan mencari NFT di penjelajah blok seperti 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();Menjalankan kode ini dengan node mintNFT.js menghasilkan NFT yang dapat dilihat di sini.
Kesimpulan
Selamat! Anda baru saja membuat NFT. Semoga tutorial ini membantu Anda memulai dengan NFT di Solana. NFT merupakan aspek mendasar dari ekosistem Solana, jadi memahami strukturnya dan cara membuatnya adalah keterampilan yang sangat berguna.
Anda dapat menemukan kode lengkapnya di sini. Selamat membuat kode!
Referensi:
Artikel Terkait
Berlangganan Helius
Ikuti perkembangan terbaru dalam pengembangan Solana dan dapatkan pembaruan saat kami memublikasikan postingan


