利用可能なガード
Asset Mint Limitガード
概要
Asset Mint Limitガードは、指定されたコレクションの保有者へのミントを制限し、提供されたCore Assetに対して実行できるミントの量を制限します。これは、Core AssetsのNFT GateとMint Limitガードの組み合わせと考えることができ、ウォレットアドレスの代わりにAssetアドレスに基づいています。
制限は、コレクションごと、Candy Machineごと、設定で提供される識別子ごとに設定され、同じCore Candy Machine内で複数のアセットミント制限を許可します。
ガード設定
Mint Limitガードには以下の設定が含まれます:
- ID: このガードの一意の識別子。異なる識別子は、特定のアセットを提供することでミントされたアイテムの数を追跡するために異なるカウンターを使用します。これは、ガードのグループを使用する場合に特に便利で、それぞれに異なるミント制限を持たせることができます。
- Limit: その識別子のアセットごとに許可される最大ミント数。
- Required Collection: 必要なコレクションのアドレス。ミント時に証明として提供するアセットは、このコレクションの一部である必要があります。
Asset Mint Limitガードを使用してCandy Machineをセットアップする
ミント設定
NFT Mint Limitガードには以下のミント設定が含まれます:
- ID: このガードの一意の識別子。
- Asset: 支払者が必要なコレクションからアセットを所有していることを証明するために提供するアセットのアドレス。
SDKを使用せずに手動で命令を構築する場合は、これらのミント設定などを命令の引数と残りのアカウントの組み合わせとして提供する必要があることに注意してください。詳細については、Core Candy Guardのプログラムドキュメントを参照してください。
Asset Mint Limitガードを使用してミントする
Mint LimitガードのMint Settingsは、次のようにmintArgs引数を使用して渡すことができます。
mintV1(umi, {
// ...
mintArgs: {
nftMintLimit: some({ id: 1, asset: assetToVerify.publicKey }),
},
});
ルート命令
Asset Mint Limitガードはルート命令をサポートしていません。
AssetMintLimitアカウント
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)
