La gestión de colecciones está en el núcleo de CreateKit. Esta guía cubre todo lo que necesitas saber sobre la creación, configuración y gestión de colecciones NFT utilizando el protocolo BaseMint.
CreateKit soporta tanto los estándares ERC721 como ERC1155:
Copy
Ask AI
const erc721Collection = { name: "Piezas de Arte Únicas", symbol: "UAP", creator: account.address, gameOwner: account.address, tokenStandard: "ERC721" as const, maxSupply: 1000n, // Cada token es único description: "Piezas de arte digital únicas en su tipo"}// Acuñación ERC721 (cantidad siempre 1)const collection721 = collectionManager.createCollection( predictedAddress, "ERC721")await collection721.mint( walletClient, 1n, // Siempre 1 para ERC721 undefined, // URI de metadatos mintPrice, proof)
CreateKit proporciona validación integrada para los parámetros de la colección:
Validación de Parámetros
Copy
Ask AI
import { validateCollectionMetadata } from '@b3dotfun/basemint'try { // Validar metadatos de colección const validation = validateCollectionMetadata(collectionMetadata) if (!validation.isValid) { console.error("Errores de validación:", validation.errors) return } console.log("✅ Los metadatos de la colección son válidos") // Proceder con la generación de firma const signature = await collectionManager.generateCreatorSignature( walletClient, collectionMetadata )} catch (error) { console.error("La validación falló:", error)}
Una de las características clave de CreateKit es la predicción determinista de direcciones:
Predicción de Dirección
Copy
Ask AI
// Generar primero la firma del creadorconst creatorSignature = await collectionManager.generateCreatorSignature( walletClient, collectionMetadata)// Predecir la dirección de la colecciónconst predictedAddress = collectionManager.predictCollectionAddress( collectionMetadata, creatorSignature)console.log(`La colección será desplegada en: ${predictedAddress}`)// Ahora puedes usar esta dirección antes del despliegue// para integración en mercados, visualización en el frontend, etc.
La mayoría de los parámetros de la colección no pueden cambiarse después del despliegue. Planifica cuidadosamente la configuración de tu colección.
Gestión Post-Despliegue
Copy
Ask AI
// Solo ciertas operaciones son posibles después del despliegue// Verificar el precio actual de acuñación (si se implementa precios dinámicos)const currentPrice = await collection.getCurrentMintPrice()// Verificar si la acuñación está actualmente activaconst isMintingActive = await collection.isMintingActive()// Obtener el suministro restanteconst remainingSupply = await collection.getRemainingSupply()console.log({ currentPrice: currentPrice.toString(), isMintingActive, remainingSupply: remainingSupply.toString()})
const qualityCollection = { name: "Colección de Arte Profesional", symbol: "PAC", creator: account.address, gameOwner: account.address, // Descripciones de alta calidad description: "Una colección curada de obras de arte digital profesional que presenta temas contemporáneos y técnicas innovadoras.", // Imágenes profesionales (mínimo 640x640px) image: "https://example.com/high-res-collection-image.png", // Atributos completos para mejor descubrimiento attributes: [ { trait_type: "Estilo de Arte", value: "Contemporáneo" }, { trait_type: "Medio", value: "Digital" }, { trait_type: "Verificación de Artista", value: "Verificado" }, { trait_type: "Tipo de Edición", value: "Limitada" } ], // Enlaces externos para credibilidad external_url: "https://professionalartist.com/collection"}
Asegúrate de que todos los parámetros de la colección sean idénticos entre la generación de la firma y el despliegue. Incluso pequeños cambios resultarán en direcciones diferentes.
Parámetros de colección inválidos
Verifica que todos los campos requeridos estén provistos y que los valores estén dentro de los rangos aceptables (p. ej., maxSupply > 0, direcciones válidas).
Falla en la generación de firmas
Verifica que tu cliente de cartera esté configurado correctamente y que tengas fondos suficientes para la transacción de firma.