사용 가능한 가드
NFT Payment Guard
개요
NFT Payment 가드는 지정된 NFT 컬렉션에서 결제자에게 NFT를 청구하여 민팅을 허용합니다. NFT는 사전 정의된 목적지로 전송됩니다.
결제자가 필수 컬렉션에서 NFT를 소유하지 않으면 민팅이 실패합니다.
가드 설정
NFT Payment 가드에는 다음 설정이 포함됩니다:
- Required Collection: 필수 NFT 컬렉션의 민트 주소입니다. 결제에 사용하는 NFT는 이 컬렉션의 일부여야 합니다.
- Destination: 모든 NFT를 받을 지갑의 주소입니다.
NFT Payment Guard를 사용한 Candy Machine 설정
create(umi, {
// ...
guards: {
nftPayment: some({
requiredCollection: requiredCollectionNft.publicKey,
destination: umi.identity.publicKey,
}),
},
});
API References: 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 Guard를 사용한 Candy Machine 설정
다음과 같이 mintArgs 인수를 사용하여 NFT Payment 가드의 민트 설정을 전달할 수 있습니다.
import { TokenStandard } from "@metaplex-foundation/mpl-token-metadata";
mintV1(umi, {
// ...
mintArgs: {
nftPayment: some({
destination,
mint: nftToPayWith.publicKey,
tokenStandard: TokenStandard.NonFungible,
}),
},
});
API References: mintV1, NftPaymentMintArgs
Route Instruction
NFT Payment 가드는 route instruction을 지원하지 않습니다.
