紹介
概要
MetaplexプロトコルのキャンディマシンはSolanaでの公平なNFTコレクション発売のための主要なミントおよび配布プログラムです。その名前が示すように、キャンディマシンは一時的な構造体として考えることができ、まずクリエイターによって読み込まれ、その後購入者によって空になります。これによりクリエイターは、安全でカスタマイズ可能な方法でデジタル資産をオンチェーン化できます。
この名前は、機械的なクランクでコインと引き換えにキャンディを分配する自動販売機を指しています。この場合、キャンディはNFTであり、支払いはSOLまたはSPLトークンです。

このドキュメントはキャンディマシンV3を参照しており、MetaplexトークンメタデータNFTをミントするために使用できます。代わりにコアアセットを作成したい場合は、コアキャンディマシンをご覧ください。
はじめに
2022年9月までに、SolanaのすべてのNFTの78%がMetaplexのキャンディマシンを通じてミントされました。これには、Solanaエコシステムのよく知られたNFTプロジェクトのほとんどが含まれています。
以下は提供される機能の一部です。
- SOL、NFT、またはSolanaトークンでの支払いを受け入れ。
- 開始/終了日、ミント制限、サードパーティ署名者などによる発売の制限。
- 設定可能なボット税やCaptchaなどのゲートキーパーによるボットからの発売保護。
- 特定のNFT/トークン保有者または選定されたウォレットのリストへのミント制限。
- 異なるルールセットを持つ複数のミントグループの作成。
- ユーザーが情報を検証できるようにしながら、発売後のNFT公開。
- その他多数!
興味をお持ちですか?キャンディマシンの仕組みについて少しツアーをしましょう!
キャンディマシンのライフサイクル
最初のステップは、クリエイターが新しいキャンディマシンを作成し、好みに合わせて設定することです。
作成されたキャンディマシンは独自の設定を追跡し、すべてのNFTがどのようにミントされるべきかを理解するのに役立ちます。例えば、このキャンディマシンからミントされたすべてのNFTに割り当てられるcreatorsパラメーターがあります。次のページでキャンディマシンの作成と設定について、コード例を含めてさらに詳しく見ていきます:キャンディマシン設定とキャンディマシン管理。
しかし、どのNFTがそのキャンディマシンからミントされるべきかはまだ分かりません。言い換えると、キャンディマシンがまだ読み込まれていません。したがって、次のステップはキャンディマシンにアイテムを挿入することです。
各アイテムは2つのパラメーターで構成されています:
name: NFTの名前。uri: NFTのJSONメタデータを指すURI。これは、JSONメタデータがオンチェーン(例:Arweave、IPFS)またはオフチェーン(例:AWS、独自サーバー)のストレージプロバイダーを通じて既にアップロードされていることを意味します。
その他のすべてのパラメーターはすべてのNFT間で共有され、重複を避けるためにキャンディマシンの設定に直接保持されます。詳細はアイテム挿入をご覧ください。
この時点では、まだ実際のNFTは作成されていないことに注目してください。私たちは単に、ミント時にオンデマンドでNFTを作成するために必要なすべてのデータでキャンディマシンを読み込んでいるだけです。これが次のステップにつながります。
キャンディマシンが読み込まれ、すべての事前設定された条件が満たされると、ユーザーはそこからNFTをミントし始めることができます。この時点でのみ、NFTがSolanaブロックチェーン上で作成されます。ミントする前に、一部のユーザーはCaptchaの実行やMerkle Proofの送信などの追加の検証ステップを実行する必要がある場合があることに注意してください。詳細はミントをご覧ください。
すべてのNFTがキャンディマシンからミントされると、その目的を果たし、ブロックチェーン上の一部のストレージスペースを解放し、一部のレントを取り戻すために安全に削除することができます。詳細はキャンディマシン管理をご覧ください。
キャンディガード
キャンディマシンの仕組みを理解したところで、クリエイターがキャンディマシンのミントプロセスを保護しカスタマイズする様々な方法を掘り下げてみましょう。
クリエイターは「ガード」と呼ばれるものを使用してキャンディマシンにさまざまな機能を追加できます。Metaplexキャンディマシンには、合計21のデフォルトガードを含むキャンディガードと呼ばれる追加のSolanaプログラムが付属しています。追加プログラムを使用することで、高度な開発者は主要なキャンディマシンプログラムに依存しながら、独自のカスタムガードを作成するためにデフォルトのキャンディガードプログラムをフォークできます。
各ガードは自由に有効化および設定できるため、クリエイターは必要な機能を選択できます。すべてのガードを無効にすることは、誰でもいつでも無料でNFTをミントできるようにすることと同等であり、これはおそらく私たちが望むものではありません。したがって、より現実的な例を作成するためにいくつかのガードを見てみましょう。
キャンディマシンに次のガードがあるとします:
- SOL支払い: このガードは、ミントウォレットが設定されたSOL量を設定された宛先ウォレットに支払う必要があることを保証します。
- 開始日: このガードは、設定された時間後にのみミントが開始できることを保証します。
- ミント制限: このガードは、各ウォレットが設定された数以上ミントできないことを保証します。
- ボット税: このガードは少し特別です。何も保護しませんが、ボットがキャンディマシンをミントすることを防ぐために失敗したミントの動作を変更します。このガードが有効化されると、他の有効化されたガードがミントの検証に失敗した場合、ミントを試みたウォレットから小額の設定されたSOLを請求します。
最終的に得られるのは、SOLを請求し、特定の時間に開始され、ウォレットごとに限られた量のミントのみを許可するボット保護されたキャンディマシンです。これが具体的な例です。
ご覧のように、21を超えるデフォルトガードとカスタムガードを作成する機能により、クリエイターは自分にとって重要な機能を厳選し、完璧なキャンディマシンを構成できます。これは非常に強力な機能であるため、多くのページを割いています。ガードについて詳しく知るための最適な場所はキャンディガードページです。
次のステップ
これはキャンディマシンの良い概要を提供しますが、発見し学ぶことがまだたくさんあります。このキャンディマシンドキュメントの他のページで期待できる内容は以下の通りです。
- はじめに。キャンディマシンを管理するために使用できるさまざまなライブラリとSDKをリストします。
- キャンディマシン設定。キャンディマシン設定を非常に詳細に説明します。
- キャンディマシン管理。キャンディマシンの管理方法を説明します。
- アイテム挿入。キャンディマシンにアイテムを読み込む方法を説明します。
- キャンディガード。ガードの動作と有効化方法を説明します。
- ガードグループ。複数のガードグループの設定方法を説明します。
- 特別なガード命令。ガード固有の命令の実行方法を説明します。
- ミント。キャンディマシンからのミント方法とミント前要件の処理方法を説明します。
- リファレンス。キャンディマシンに関連するAPIリファレンスをリストします。
