利用可能なガード

Allocation Guard

概要

Allocationガードは、各ガードグループがミントできるNFTの数に制限を指定することができます。

制限は設定で提供される識別子ごとに設定され、同じCandy Machine内で複数の割り当てを可能にします。

ガード設定

Allocationガードには以下の設定が含まれます:

  • ID: このガードの一意な識別子。異なる識別子は、指定されたウォレットによってミントされたアイテム数を追跡するために異なるカウンターを使用します。これは、ガードのグループを使用する際に、それぞれが異なるミント制限を持つことを望む場合に特に有用です。
  • Limit: ガードグループで許可されるミントの最大数。

Allocationガードを使用してCandy Machineを設定する

create(umi, {
// ...
guards: {
allocation: some({ id: 1, limit: 5 }),
},
});

APIリファレンス: create, Allocation

ミント設定

Allocationガードには以下のミント設定が含まれます:

  • ID: このガードの一意な識別子。

注意:SDK の助けを借りずに命令を構築する予定の場合、これらのミント設定およびそれ以外を命令引数と残りのアカウントの組み合わせとして提供する必要があります。詳細については、Candy GuardのプログラムドキュメントAtionを参照してください。

Allocationガードでミントする

次のようにmintArgs引数を使用してAllocationガードのミント設定を渡すことができます。

mintV2(umi, {
// ...
mintArgs: {
allocation: some({ id: 1 }),
},
});

ルート命令

Allocationガードのルート命令は以下の機能をサポートします。

Allocation Trackerの初期化

Allocationガードを使用する場合、ミントを開始する前にAllocation Trackerアカウントを初期化する必要があります。これにより、ガード設定のid属性から派生したPDAアカウントが作成されます。

Allocation Tracker PDAアカウントは、ガードグループ内のミント数を追跡し、制限に達するとそのグループ内のミントをブロックします。

このAllocation Trackerアカウントを初期化する際、ガードのルート命令に以下の引数を提供する必要があります:

  • ID: ガード設定のAllocationのID。
  • Candy Guard Authority: SignerとしてのCandy GuardアカウントのAuthority。

Allocation Tracker PDAを初期化する

デフォルトガード用のAllocation Tracker PDAを初期化するには:

route(umi, {
// ...
guard: 'allocation',
routeArgs: {
id: 1,
candyGuardAuthority: umi.identity,
},
})

Allocationガードが特定のグループに追加されている場合、group名を追加する必要があります:

route(umi, {
// ...
guard: 'allocation',
routeArgs: {
id: 1,
candyGuardAuthority: umi.identity,
},
group: some('GROUPA'),
})

APIリファレンス: route, AllocationRouteArgs