利用可能なガード
Mint Limitガード
概要
Mint Limitガードは、各ウォレットがミントできるアセットの数に制限を指定できます。
制限は、ウォレットごと、Candy Machineごと、設定で提供される識別子ごとに設定され、同じCore Candy Machine内で複数のミント制限を許可します。
ガード設定
Mint Limitガードには以下の設定が含まれます:
- ID: このガードの一意の識別子。異なる識別子は、特定のウォレットによってミントされたアイテムの数を追跡するために異なるカウンターを使用します。これは、ガードのグループを使用する場合に特に便利で、それぞれに異なるミント制限を持たせることができます。
- Limit: その識別子のウォレットごとに許可される最大ミント数。
Mint Limitガードを使用してCandy Machineをセットアップする
ミント設定
Mint Limitガードには以下のミント設定が含まれます:
- ID: このガードの一意の識別子。
SDKを使用せずに手動で命令を構築する場合は、これらのミント設定などを命令の引数と残りのアカウントの組み合わせとして提供する必要があることに注意してください。詳細については、Core Candy Guardのプログラムドキュメントを参照してください。
Mint Limitガードを使用してミントする
Mint LimitガードのMint Settingsは、次のようにmintArgs引数を使用して渡すことができます。
mintV1(umi, {
// ...
mintArgs: {
mintLimit: some({ id: 1 }),
},
});
ルート命令
Mint Limitガードはルート命令をサポートしていません。
MintLimitアカウント
MintLimitガードを使用すると、各ウォレット、CandyMachine、およびidの組み合わせに対してMintCounterアカウントが作成されます。検証目的で次のようにフェッチできます:
import { safeFetchMintCounterFromSeeds } from "@metaplex-foundation/mpl-core-candy-machine";
import { umi } from "@metaplex-foundation/mpl-core-candy-machine";
const mintCounter = await safeFetchMintCounterFromSeeds(umi, {
id: 1, // ガード設定で設定したmintLimitのid
user: umi.identity.publicKey,
candyMachine: candyMachine.publicKey,
// または candyMachine: publicKey("Address") でCMアドレスを指定
candyGuard: candyMachine.mintAuthority,
// または candyGuard: publicKey("Address") でcandyGuardアドレスを指定
});
// 既にミントされた量
console.log(mintCounter.count)
