올해는 머신러닝이다.
Solana NFT 컬렉션 및 NFT 메타데이터 설명 본문
1. 컬렉션 NFT 메타데이터 구조
컬렉션 NFT는 특정 NFT들의 그룹을 정의하며, 개별 NFT들이 이 컬렉션에 속할 수 있도록 구성됩니다.
컬렉션 NFT 메타데이터 필드
{
"name": "My NFT Collection",
"symbol": "MNC",
"description": "A collection of unique NFTs",
"image": "https://example.com/collection-image.png",
"external_url": "https://example.com",
"seller_fee_basis_points": 500,
"collection": {
"verified": true,
"name": "My NFT Collection"
},
"attributes": [
{
"trait_type": "Category",
"value": "Digital Art"
}
],
"properties": {
"creators": [
{
"address": "CreatorWalletAddress",
"share": 100
}
]
}
}
컬렉션 NFT 필드 설명
속성설명
name | 컬렉션의 이름 |
---|---|
symbol | 컬렉션의 심볼(보통 짧은 약어 형태) |
description | 컬렉션에 대한 설명 |
image | 컬렉션을 대표하는 이미지 (IPFS 또는 URL) |
external_url | 프로젝트의 공식 웹사이트 링크 |
seller_fee_basis_points | 크리에이터 로열티 (500 = 5%) |
collection | 컬렉션 정보 (verified: 컬렉션 검증 여부) |
attributes | 컬렉션의 속성 (예: "Category" : "Digital Art") |
properties.creators | 컬렉션 제작자 및 수익 분배 비율 |
2. 개별 NFT 메타데이터 구조
컬렉션 내에 포함될 수 있는 개별 NFT는 다음과 같은 형식을 따릅니다.
일반 NFT 메타데이터 필드
{
"name": "Rare Monkey #001",
"symbol": "MNC",
"description": "A rare monkey from the My NFT Collection",
"image": "https://example.com/nft-image.png",
"animation_url": "https://example.com/animation.mp4",
"external_url": "https://example.com/nft",
"seller_fee_basis_points": 500,
"attributes": [
{
"trait_type": "Background",
"value": "Blue"
},
{
"trait_type": "Hat",
"value": "Fedora"
}
],
"collection": {
"name": "My NFT Collection",
"family": "MNC Family"
},
"properties": {
"files": [
{
"uri": "https://example.com/nft-image.png",
"type": "image/png"
}
],
"creators": [
{
"address": "CreatorWalletAddress",
"share": 100
}
]
}
}
일반 NFT 필드 설명
속성설명
name | NFT의 이름 (예: "Rare Monkey #001") |
---|---|
symbol | NFT가 속한 컬렉션의 심볼 |
description | NFT에 대한 설명 |
image | NFT 이미지 URL (보통 IPFS 사용) |
animation_url | 애니메이션이나 비디오 파일이 포함된 경우 URL |
external_url | NFT 관련 추가 정보를 제공하는 웹사이트 |
seller_fee_basis_points | 판매 시 크리에이터가 받는 로열티 (500 = 5%) |
attributes | NFT의 고유 특성 (예: "Background": "Blue", "Hat": "Fedora") |
collection | NFT가 속한 컬렉션 정보 (name 및 family 포함 가능) |
properties.files | NFT의 파일 정보 (예: 이미지 또는 동영상 파일의 URL 및 유형) |
properties.creators | 제작자의 Solana 지갑 주소 및 수익 배분 |
3. 컬렉션 NFT vs 일반 NFT 차이점
구분컬렉션 NFT개별 NFT
목적 | 특정 NFT 그룹을 대표하는 메타데이터 | 컬렉션 내의 개별 NFT를 설명 |
---|---|---|
collection 필드 | verified: true (컬렉션으로 인증됨) | name, family 속성으로 컬렉션 소속 표시 |
attributes | 보통 컬렉션의 주제나 카테고리를 설명 | 개별 NFT의 특징 (예: 색상, 아이템 등) |
image | 컬렉션을 대표하는 이미지 | NFT 자체의 이미지 |
properties.files | 주로 컬렉션 설명 파일 | NFT의 이미지 또는 애니메이션 파일 |
4. 중요한 추가 사항
- IPFS 또는 Arweave 사용 권장
- NFT의 메타데이터 및 이미지 URL은 중앙 서버가 아닌 IPFS (InterPlanetary File System) 또는 Arweave에 저장하는 것이 일반적입니다.
- 예시: ipfs://QmXYZ123...
- 컬렉션 인증(Verification) 필요
- 컬렉션 NFT를 만들고, 개별 NFT를 해당 컬렉션에 포함하려면, 컬렉션이 먼저 검증되어야 함.
- Metaplex's Token Metadata Program을 사용하여 등록
- Solana에서 메타데이터를 관리하려면 Metaplex의 Token Metadata 프로그램을 사용해야 함.
결론
- 컬렉션 NFT는 전체 NFT 그룹을 정의하고, 개별 NFT는 해당 컬렉션에 속하면서 개별 특성을 가짐.
- collection 필드와 attributes를 적절히 활용하여 NFT 생태계를 체계적으로 구축할 수 있음.
- 메타데이터를 올바르게 작성하면, NFT가 Solana 생태계에서 원활하게 동작할 수 있음.
NFT를 배포하려면 Solana의 Metaplex와 관련 스마트 계약을 활용하는 것이 필수적이므로, 개발 도구(예: Candy Machine, Solana CLI)를 함께 고려해야 합니다.