사용 가능한 가드
NFT 결제 가드
개요
NFT 결제(NFT Payment) 가드는 지불자에게 지정된 NFT 컬렉션의 NFT를 청구하여 민팅을 허용합니다. NFT는 사전 정의된 목적지로 전송됩니다.
지불자가 필요한 컬렉션의 NFT를 소유하지 않은 경우 민팅이 실패합니다.
가드 설정
NFT 결제 가드는 다음 설정을 포함합니다:
- Required Collection: 필요한 NFT 컬렉션의 민트 주소입니다. 결제에 사용하는 NFT는 이 컬렉션의 일부여야 합니다.
- Destination: 모든 NFT를 받을 지갑의 주소입니다.
NFT 결제 가드를 사용하여 Candy Machine 설정
create(umi, {
// ...
guards: {
nftPayment: some({
requiredCollection: requiredCollectionNft.publicKey,
destination: umi.identity.publicKey,
}),
},
});
API 참조: create, NftPayment
민팅 설정
NFT 결제 가드는 다음 민팅 설정을 포함합니다:
- Destination: 모든 NFT를 받을 지갑의 주소입니다.
- Mint: 결제에 사용할 NFT의 민트 주소입니다. 이것은 필요한 컬렉션의 일부여야 하며 민터에게 속해야 합니다.
- Token Standard: 결제에 사용되는 NFT의 토큰 표준입니다.
- Token Account (선택사항): NFT와 소유자를 명시적으로 연결하는 토큰 계정을 선택적으로 제공할 수 있습니다. 기본적으로 지불자의 연관 토큰 계정이 사용됩니다.
- Rule Set (선택사항): Rule Set이 있는 프로그래머블 NFT로 결제하는 경우, 결제에 사용되는 NFT의 Rule Set입니다.
SDK의 도움 없이 명령어를 구성할 계획이라면, 이러한 민팅 설정 및 그 이상을 명령어 인수와 나머지 계정의 조합으로 제공해야 합니다. 자세한 내용은 Candy Guard의 프로그램 문서를 참조하세요.
NFT 결제 가드를 사용하여 Candy Machine 설정
다음과 같이 mintArgs 인수를 사용하여 NFT 결제 가드의 민팅 설정을 전달할 수 있습니다.
import { TokenStandard } from "@metaplex-foundation/mpl-token-metadata";
mintV2(umi, {
// ...
mintArgs: {
nftPayment: some({
destination,
mint: nftToPayWith.publicKey,
tokenStandard: TokenStandard.NonFungible,
}),
},
});
API 참조: mintV2, NftPaymentMintArgs
라우트 명령어
NFT 결제 가드는 라우트 명령어를 지원하지 않습니다.
