사용 가능한 가드
Asset Mint Limit Guard
개요
Asset Mint Limit 가드는 지정된 컬렉션의 보유자로 민팅을 제한하고 제공된 Core Asset에 대해 수행할 수 있는 민팅 수량을 제한합니다. 이는 Asset 주소 기반의 NFT Gate for Core Assets과 Mint Limit 가드의 조합으로 볼 수 있습니다.
제한은 컬렉션별, 캔디 머신별, 그리고 설정에서 제공된 식별자별로 설정되어 동일한 Core Candy Machine 내에서 여러 개의 asset mint limit을 허용합니다.
가드 설정
Mint Limit 가드에는 다음 설정이 포함됩니다:
- ID: 이 가드의 고유 식별자입니다. 서로 다른 식별자는 해당 Asset을 제공하여 얼마나 많은 아이템이 민팅되었는지 추적하기 위해 서로 다른 카운터를 사용합니다. 이는 각 가드 그룹이 서로 다른 민팅 제한을 가지길 원할 때 특히 유용합니다.
- Limit: 해당 식별자에 대한 Asset당 허용되는 최대 민팅 수량입니다.
- Required Collection: 필수 컬렉션의 주소입니다. 민팅 시 증빙으로 제공하는 Asset은 이 컬렉션의 일부여야 합니다.
Asset Mint Limit 가드를 사용한 Candy Machine 설정
민팅 설정
NFT Mint Limit 가드에는 다음 민팅 설정이 포함됩니다:
- ID: 이 가드의 고유 식별자입니다.
- Asset: 지불자가 필수 컬렉션에서 Asset을 소유하고 있음을 증명하기 위해 제공할 Asset의 주소입니다.
참고로, SDK의 도움 없이 직접 지시문을 구성할 계획이라면, 이러한 민팅 설정과 추가 항목들을 지시문 인수와 나머지 계정의 조합으로 제공해야 합니다. 자세한 내용은 Core Candy Guard의 프로그램 문서를 참조하세요.
Asset Mint Limit 가드로 민팅하기
다음과 같이 mintArgs 인수를 사용하여 Mint Limit 가드의 민팅 설정을 전달할 수 있습니다.
mintV1(umi, {
// ...
mintArgs: {
nftMintLimit: some({ id: 1, asset: assetToVerify.publicKey }),
},
});
Route Instruction
Asset Mint Limit 가드는 route instruction을 지원하지 않습니다.
AssetMintLimit Accounts
AssetMintLimit 가드가 사용되면 각 Core NFT Asset, CandyMachine, id 조합에 대해 AssetMintCounter 계정이 생성됩니다. 검증 목적으로 다음과 같이 가져올 수 있습니다:
import {
findAssetMintCounterPda,
fetchNftMintCounter
} from "@metaplex-foundation/mpl-core-candy-machine";
const pda = findAssetMintCounterPda(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 = fetchAssetMintCounter(umi, pda)
