Manajemen koleksi adalah inti dari CreateKit. Panduan ini mencakup segala hal yang perlu Anda ketahui tentang pembuatan, konfigurasi, dan pengelolaan koleksi NFT menggunakan protokol BaseMint.
const erc721Collection = { name: "Karya Seni Unik", symbol: "UAP", creator: account.address, gameOwner: account.address, tokenStandard: "ERC721" as const, maxSupply: 1000n, // Setiap token unik description: "Karya seni digital yang unik"}// Pencetakan ERC721 (kuantitas selalu 1)const collection721 = collectionManager.createCollection( predictedAddress, "ERC721")await collection721.mint( walletClient, 1n, // Selalu 1 untuk ERC721 undefined, // URI metadata mintPrice, proof)
Salin
Tanya AI
const erc1155Collection = { name: "Sumber Daya Game", symbol: "GRS", creator: account.address, gameOwner: account.address, tokenStandard: "ERC1155" as const, maxSupply: 100000n, // Total untuk semua jenis token description: "Sumber daya game yang fungible dan semi-fungible"}// Pencetakan ERC1155 (dapat mencetak beberapa)const collection1155 = collectionManager.createCollection( predictedAddress, "ERC1155")await collection1155.mint( walletClient, 10n, // Dapat mencetak beberapa token "https://example.com/token/1", // metadata token spesifik mintPrice, proof)
CreateKit secara otomatis menghasilkan metadata token berdasarkan pengaturan koleksi Anda:
Metadata yang Dihasilkan Otomatis
Metadata Kustom
Salin
Tanya AI
import { NFTMetadataManager, MediaType } from '@b3dotfun/basemint'// Menghasilkan metadata untuk berbagai jenis mediaconst artworkMetadata = NFTMetadataManager.generateNFTMetadata( collectionMetadata, MediaType.ARTWORK)const model3dMetadata = NFTMetadataManager.generateNFTMetadata( collectionMetadata, MediaType.MODEL_3D)const videoMetadata = NFTMetadataManager.generateNFTMetadata( collectionMetadata, MediaType.VIDEO)// Konversi ke JSONconst metadataJson = NFTMetadataManager.generateJSON(artworkMetadata)console.log(metadataJson)
Salin
Tanya AI
// Untuk metadata kustom, sediakan baseURI Anda sendiriconst customCollection = { name: "Koleksi Metadata Kustom", symbol: "CMC", creator: account.address, gameOwner: account.address, baseURI: "https://myapi.com/metadata/", // Endpoint metadata kustom Anda description: "Koleksi dengan metadata kustom"}// API Anda harus merespons ke: https://myapi.com/metadata/{tokenId}// Dengan format metadata OpenSea standar
Salah satu fitur kunci CreateKit adalah prediksi alamat deterministik:
Prediksi Alamat
Salin
Tanya AI
// Hasilkan tanda tangan pembuat terlebih dahuluconst creatorSignature = await collectionManager.generateCreatorSignature( walletClient, collectionMetadata)// Prediksi alamat koleksiconst predictedAddress = collectionManager.predictCollectionAddress( collectionMetadata, creatorSignature)console.log(`Koleksi akan ditempatkan di: ${predictedAddress}`)// Anda sekarang dapat menggunakan alamat ini sebelum penyebaran// untuk integrasi marketplace, tampilan frontend, dll.
Sebagian besar parameter koleksi tidak dapat diubah setelah penyebaran. Rencanakan konfigurasi koleksi Anda dengan hati-hati.
Manajemen Pasca-Penyebaran
Salin
Tanya AI
// Hanya operasi tertentu yang mungkin setelah penyebaran// Periksa harga mint saat ini (jika harga dinamis diterapkan)const currentPrice = await collection.getCurrentMintPrice()// Periksa apakah pencetakan saat ini aktifconst isMintingActive = await collection.isMintingActive()// Dapatkan sisa pasokanconst remainingSupply = await collection.getRemainingSupply()console.log({ currentPrice: currentPrice.toString(), isMintingActive, remainingSupply: remainingSupply.toString()})
Pastikan semua parameter koleksi identik antara generasi tanda tangan dan penyebaran. Perubahan kecil pun akan menghasilkan alamat yang berbeda.
Parameter koleksi tidak valid
Periksa bahwa semua bidang yang diperlukan disediakan dan bahwa nilai-nilai berada dalam rentang yang dapat diterima (mis., maxSupply > 0, alamat valid).
Pembuatan tanda tangan gagal
Verifikasi bahwa klien dompet Anda dikonfigurasi dengan benar dan bahwa Anda memiliki dana yang cukup untuk transaksi penandatanganan.