利用可能なガード
NFT Paymentガード
概要
NFT Paymentガードは、支払者に指定されたNFTコレクションからNFTを請求することでミントを許可します。NFTは事前定義された宛先に転送されます。
支払者が必要なコレクションからNFTを所有していない場合、ミントは失敗します。
ガード設定
NFT Paymentガードには以下の設定が含まれます:
- Required Collection: 必要なNFTコレクションのミントアドレス。支払いに使用するNFTは、このコレクションの一部である必要があります。
- Destination: すべてのNFTを受け取るウォレットのアドレス。
NFT Paymentガードを使用してCandy Machineをセットアップする
create(umi, {
// ...
guards: {
nftPayment: some({
requiredCollection: requiredCollectionNft.publicKey,
destination: umi.identity.publicKey,
}),
},
});
APIリファレンス: create, NftPayment
ミント設定
NFT Paymentガードには以下のミント設定が含まれます:
- Destination: すべてのNFTを受け取るウォレットのアドレス。
- Mint: 支払いに使用するNFTのミントアドレス。これは、必要なコレクションの一部であり、ミンターに属している必要があります。
- Token Standard: 支払いに使用するNFTのトークン標準。
- Token Account (オプション): NFTとその所有者を明示的にリンクするトークンアカウントをオプションで提供できます。デフォルトでは、支払者の関連トークンアカウントが使用されます。
- Rule Set (オプション): Rule Setを持つProgrammable NFTで支払う場合の、支払いに使用するNFTのRule Set。
SDKを使用せずに手動で命令を構築する場合は、これらのミント設定などを命令の引数と残りのアカウントの組み合わせとして提供する必要があることに注意してください。詳細については、Core Candy Guardのプログラムドキュメントを参照してください。
NFT Paymentガードを使用してCandy Machineをセットアップする
NFT PaymentガードのMint Settingsは、次のようにmintArgs引数を使用して渡すことができます。
import { TokenStandard } from "@metaplex-foundation/mpl-token-metadata";
mintV1(umi, {
// ...
mintArgs: {
nftPayment: some({
destination,
mint: nftToPayWith.publicKey,
tokenStandard: TokenStandard.NonFungible,
}),
},
});
APIリファレンス: mintV1, NftPaymentMintArgs
ルート命令
NFT Paymentガードはルート命令をサポートしていません。
