const erc721Collection = { name: "Unique Art Pieces", symbol: "UAP", creator: account.address, gameOwner: account.address, tokenStandard: "ERC721" as const, maxSupply: 1000n, // 각 토큰은 고유함 description: "독특한 디지털 아트 작품"}// ERC721 발행 (수량은 항상 1)const collection721 = collectionManager.createCollection( predictedAddress, "ERC721")await collection721.mint( walletClient, 1n, // ERC721의 경우 항상 1 undefined, // 메타데이터 URI mintPrice, proof)
복사
AI에게 묻기
const erc1155Collection = { name: "Game Resources", symbol: "GRS", creator: account.address, gameOwner: account.address, tokenStandard: "ERC1155" as const, maxSupply: 100000n, // 모든 토큰 유형에 걸쳐 총계 description: "대체 가능 및 반대체 가능한 게임 자원"}// ERC1155 발행 (여러 개 발행 가능)const collection1155 = collectionManager.createCollection( predictedAddress, "ERC1155")await collection1155.mint( walletClient, 10n, // 여러 토큰 발행 가능 "https://example.com/token/1", // 특정 토큰 메타데이터 mintPrice, proof)
import { NFTMetadataManager, MediaType } from '@b3dotfun/basemint'// 다양한 미디어 유형에 대한 메타데이터 생성const artworkMetadata = NFTMetadataManager.generateNFTMetadata( collectionMetadata, MediaType.ARTWORK)const model3dMetadata = NFTMetadataManager.generateNFTMetadata( collectionMetadata, MediaType.MODEL_3D)const videoMetadata = NFTMetadataManager.generateNFTMetadata( collectionMetadata, MediaType.VIDEO)// JSON으로 변환const metadataJson = NFTMetadataManager.generateJSON(artworkMetadata)console.log(metadataJson)
복사
AI에게 묻기
// 사용자 정의 메타데이터의 경우, 자체 baseURI 제공const customCollection = { name: "Custom Metadata Collection", symbol: "CMC", creator: account.address, gameOwner: account.address, baseURI: "https://myapi.com/metadata/", // 사용자 정의 메타데이터 엔드포인트 description: "사용자 정의 메타데이터가 있는 컬렉션"}// 귀하의 API는 다음에 응답해야 합니다: https://myapi.com/metadata/{tokenId}// 표준 OpenSea 메타데이터 형식으로
// 먼저 생성자 서명 생성const creatorSignature = await collectionManager.generateCreatorSignature( walletClient, collectionMetadata)// 컬렉션 주소 예측const predictedAddress = collectionManager.predictCollectionAddress( collectionMetadata, creatorSignature)console.log(`컬렉션이 배포될 주소: ${predictedAddress}`)// 이제 마켓플레이스 통합, 프론트엔드 디스플레이 등을 위해// 배포 전에 이 주소를 사용할 수 있습니다.
대부분의 컬렉션 매개변수는 배포 후 변경할 수 없습니다. 컬렉션 구성을 신중하게 계획하세요.
Post-Deployment Management
복사
AI에게 묻기
// 배포 후 가능한 몇 가지 작업만// 현재 발행 가격 확인 (동적 가격 책정이 구현된 경우)const currentPrice = await collection.getCurrentMintPrice()// 현재 발행이 활성화되어 있는지 확인const isMintingActive = await collection.isMintingActive()// 남은 공급량 가져오기const remainingSupply = await collection.getRemainingSupply()console.log({ currentPrice: currentPrice.toString(), isMintingActive, remainingSupply: remainingSupply.toString()})
const qualityCollection = { name: "Professional Art Collection", symbol: "PAC", creator: account.address, gameOwner: account.address, // 고품질 설명 description: "현대적인 테마와 혁신적인 기술을 특징으로 하는 전문 디지털 아트 작품 컬렉션", // 전문 이미지 (최소 640x640px) image: "https://example.com/high-res-collection-image.png", // 더 나은 발견 가능성을 위한 포괄적인 속성 attributes: [ { trait_type: "Art Style", value: "Contemporary" }, { trait_type: "Medium", value: "Digital" }, { trait_type: "Artist Verification", value: "Verified" }, { trait_type: "Edition Type", value: "Limited" } ], // 신뢰성을 위한 외부 링크 external_url: "https://professionalartist.com/collection"}