Core Candy Machine

Candy Guards

ガードとは?

ガードは、Core Candy Machineのミントへのアクセスを制限し、さらに新機能を追加できるモジュラーなコードです!

選択できるガードの大きなセットがあり、それぞれを任意に有効化・設定できます。

後にこのドキュメントで利用可能なすべてのガードについて触れますが、ここではそれを説明するためのいくつかの例を見てみましょう。

  • Start Dateガードが有効化されると、事前設定された日付より前はミントが禁止されます。指定された日付後のミントを禁止するEnd Dateガードもあります。
  • Sol Paymentガードが有効化されると、ミントするウォレットは設定された宛先ウォレットに設定された金額を支払う必要があります。特定のコレクションのトークンやNFTで支払うための類似のガードが存在します。
  • Token GateNFT Gateガードは、それぞれ特定のトークンホルダーとNFTホルダーにミントを制限します。
  • Allow Listガードは、ウォレットが事前定義されたウォレットリストの一部である場合のみミントを許可します。ミント用のゲストリストのようなものです。

ご覧のとおり、各ガードは一つの責任のみを担当し、それが構成可能にします。言い換えると、完璧なCandy Machineを作成するために必要なガードを選択できます。

Core Candy Guardアカウント

各Core Candy Machineアカウントは通常、保護層を追加する独自のCore Candy Guardアカウントに関連付けられる必要があります。

これは、Core Candy Guardアカウントを作成し、それをCore Candy MachineアカウントのMint Authorityにすることで機能します。そうすることで、メインのCore Candy Machineプログラムから直接ミントすることはもはや不可能になります。代わりに、すべてのガードが正常に解決された場合、Core Candy Machineプログラムに委譲してミントプロセスを完了するCore Candy Guardプログラムを通じてミントする必要があります。

Core Candy MachineとCore Candy Guardアカウントが連携して動作するため、SDKはそれらを一つのエンティティとして扱うことに注意してください。SDKでCore Candy Machineを作成すると、デフォルトで関連するCore Candy Guardアカウントも作成されます。Core Candy Machineを更新する場合も同様で、同時にガードを更新することができます。このページで具体例を見ていきます。

なぜ別のプログラムなのか?

ガードがメインのCore Candy Machineプログラムに存在しない理由は、アクセス制御ロジックをNFTをミントするというメインのCore Candy Machineの責任から分離するためです。

これにより、ガードはモジュラーであるだけでなく拡張可能になります。誰でも独自のCore Candy Guardプログラムを作成・デプロイしてカスタムガードを作成でき、残りすべてについてはCore Candy Machine Coreプログラムに依存できます。

SDKは独自のCore Candy Guardプログラムとそのカスタムガードを登録する方法も提供しているため、フレンドリーなAPIを活用して、ガードを他の人と簡単に共有できることに注意してください。

利用可能なすべてのガード

さて、ガードが何であるかを理解したところで、どのデフォルトガードが利用可能かを見てみましょう。

以下のリストでは、各ガードの短い説明と、より高度な読み物のための専用ページへのリンクを提供します。

  • Address Gate: ミントを単一のアドレスに制限します。
  • Allocation: 各ガードグループがミントできるNFTの数に制限を指定できます。
  • Allow List: ウォレットアドレスリストを使用して、誰がミントを許可されるかを決定します。
  • Asset Burn Multi: 指定されたコレクションのホルダーにミントを制限し、1つ以上のcoreアセットのバーンを要求します。
  • Asset Burn: 指定されたコレクションのホルダーにミントを制限し、単一のcoreアセットのバーンを要求します。
  • Asset Gate: 指定されたコレクションのホルダーにミントを制限します。
  • Asset Mint Limit: 指定されたコレクションのホルダーにミントを制限し、提供されたCore Assetに対して実行できるミント数を制限します。
  • Asset Payment Multi: 指定されたコレクションの複数のCore Assetをミントの価格として設定します。
  • Asset Payment: 指定されたコレクションのCore Assetをミントの価格として設定します。
  • Bot Tax: 無効なトランザクションに課金する設定可能な税金。
  • Edition: ミントされたCore AssetにEdition Pluginを追加します。詳細についてはPrint Editionsガイドを参照してください。
  • End Date: ミントを終了する日付を決定します。
  • Freeze Sol Payment: 凍結期間付きでSOLでミントの価格を設定します。
  • Freeze Token Payment: 凍結期間付きでトークン量でミントの価格を設定します。
  • Gatekeeper: Gatekeeper Networkを通じてミントを制限します(例:Captcha統合)。
  • Mint Limit: ウォレット毎のミント数の制限を指定します。
  • Nft Burn: 指定されたコレクションのホルダーにミントを制限し、NFTのバーンを要求します。
  • Nft Gate: 指定されたコレクションのホルダーにミントを制限します。
  • Nft Payment: 指定されたコレクションのNFTをミントの価格として設定します。
  • Program Gate: ミントトランザクションに含めることができるプログラムを制限します。
  • Redeemed Amount: ミントされた総量に基づいてミントの終了を決定します。
  • Sol Fixed fee: 固定価格でSOLでミントの価格を設定します。Sol Paymentガードと類似。
  • Sol Payment: SOLでミントの価格を設定します。
  • Start Date: ミントの開始日を決定します。
  • Third Party Signer: トランザクションに追加の署名者を要求します。
  • Token Burn: 指定されたトークンのホルダーにミントを制限し、トークンのバーンを要求します。
  • Token Gate: 指定されたトークンのホルダーにミントを制限します。
  • Token Payment: トークン量でミントの価格を設定します。
  • Token22 Payment: token22(トークン拡張)量でミントの価格を設定します。
  • Vanity Mint: 新しいミントアドレスが特定のパターンに一致することを期待してミントを制限します。

まとめ

ガードはCore Candy Machineの重要なコンポーネントです。アプリケーション固有のニーズに対して独自のガードを作成することを誰でも可能にしながら、ミントプロセスを簡単に設定できるようにします。