利用可能なガード
NFT Mint Limitガード
概要
NFT Mint Limitガードは、指定されたNFTコレクションの保有者へのミントを制限し、提供されたToken Metadata NFTに対して実行できるミントの量を制限します。これは、ウォレットの代わりにNFTアドレスに基づいたNFT GateとMint Limitガードの組み合わせと考えることができます。
制限は、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ガードを使用してミントする
Mint LimitガードのMint Settingsは、次のようにmintArgs引数を使用して渡すことができます。
mintV1(umi, {
// ...
mintArgs: {
nftMintLimit: some({ id: 1, mint: nftToVerify.publicKey }),
},
});
ルート命令
NFT Mint Limitガードはルート命令をサポートしていません。
NftMintLimitアカウント
NftMintLimitガードを使用すると、各NFT、CandyMachine、およびidの組み合わせに対してNftMintCounterアカウントが作成されます。検証目的で次のようにフェッチできます:
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)
