사용 가능한 가드
NFT Mint Limit Guard
개요
NFT Mint Limit 가드는 지정된 NFT 컬렉션 보유자로 민팅을 제한하고 제공된 Token Metadata NFT에 대해 수행할 수 있는 민트 수를 제한합니다. 이는 지갑 대신 NFT 주소를 기반으로 한 NFT Gate와 Mint Limit Guard의 조합으로 간주할 수 있습니다.
제한은 NFT 컬렉션별, Candy Machine별, 그리고 설정에서 제공되는 식별자별로 설정되어 동일한 Core Candy Machine 내에서 여러 NFT 민트 제한을 허용합니다.
가드 설정
Mint Limit 가드에는 다음 설정이 포함됩니다:
- ID: 이 가드의 고유 식별자입니다. 서로 다른 식별자는 주어진 NFT를 제공하여 얼마나 많은 아이템이 민팅되었는지 추적하기 위해 다른 카운터를 사용합니다. 이는 가드 그룹을 사용할 때 특히 유용하며, 각각이 서로 다른 민트 제한을 가질 수 있습니다.
- Limit: 해당 식별자에 대해 NFT당 허용되는 최대 민트 수입니다.
- Required Collection: 필수 NFT 컬렉션의 민트 주소입니다. 민팅 시 증명으로 제공하는 NFT는 이 컬렉션의 일부여야 합니다.
NFT Mint Limit 가드를 사용한 Candy Machine 설정
민트 설정
NFT Mint Limit 가드에는 다음 민트 설정이 포함됩니다:
- ID: 이 가드의 고유 식별자입니다.
- Mint: 결제자가 필수 컬렉션에서 NFT를 소유하고 있다는 증명으로 제공할 NFT의 민트 주소입니다.
참고로, SDK의 도움 없이 명령어를 구성할 계획이라면 이러한 민트 설정과 더 많은 것들을 명령어 인수와 나머지 계정의 조합으로 제공해야 합니다. 자세한 내용은 Core Candy Guard의 프로그램 문서를 참조하세요.
NFT Mint Limit Guard로 민팅하기
다음과 같이 mintArgs 인수를 사용하여 Mint Limit 가드의 민트 설정을 전달할 수 있습니다.
mintV1(umi, {
// ...
mintArgs: {
nftMintLimit: some({ id: 1, mint: nftToVerify.publicKey }),
},
});
Route Instruction
NFT Mint Limit 가드는 route instruction을 지원하지 않습니다.
NftMintLimit Accounts
NftMintLimit Guard가 사용될 때 각 NFT, CandyMachine 및 id 조합에 대해 NftMintCounter Account가 생성됩니다. 검증 목적으로 다음과 같이 가져올 수 있습니다:
import {
findNftMintCounterPda,
fetchNftMintCounter
} from "@metaplex-foundation/mpl-core-candy-machine";
const pda = findNftMintCounterPda(umi, {
id: 1, // 가드 구성에서 설정한 nftMintLimit id
mint: asset.publicKey, // 사용자가 소유한 nft의 주소
candyMachine: candyMachine.publicKey,
// 또는 candyMachine: publicKey("Address")로 CM 주소 사용
candyGuard: candyMachine.mintAuthority
// 또는 candyGuard: publicKey("Address")로 candyGuard 주소 사용
});
const nftMintCounter = fetchNftMintCounter(umi, pda)
