사용 가능한 가드
토큰 결제 가드
개요
토큰 결제(Token Payment) 가드는 구성된 민트 계정에서 지불자에게 일부 토큰을 청구하여 민팅을 허용합니다. 토큰 개수와 목적지 주소 모두 구성할 수 있습니다.
지불자가 결제할 필요한 토큰 수량을 가지고 있지 않으면 민팅이 실패합니다.
가드 설정
토큰 결제 가드는 다음 설정을 포함합니다:
- Amount: 지불자에게 청구할 토큰 개수입니다.
- Mint: 결제하려는 SPL 토큰을 정의하는 민트 계정의 주소입니다.
- Destination Associated Token Address (ATA): 토큰을 보낼 연관 토큰 계정의 주소입니다. Token Mint 속성과 이 토큰을 받아야 하는 지갑의 주소를 사용하여 연관 토큰 주소 PDA를 찾으면 이 주소를 얻을 수 있습니다.
토큰 결제 가드를 사용하여 Candy Machine 설정
이 예에서는 현재 신원을 목적지 지갑으로 사용하고 있습니다.
import { findAssociatedTokenPda } from "@metaplex-foundation/mpl-toolbox";
create(umi, {
// ...
guards: {
tokenPayment: some({
amount: 300,
mint: tokenMint.publicKey,
destinationAta: findAssociatedTokenPda(umi, {
mint: tokenMint.publicKey,
owner: umi.identity.publicKey,
}),
}),
},
});
API 참조: create, TokenPayment
민팅 설정
토큰 결제 가드는 다음 민팅 설정을 포함합니다:
- Mint: 결제하려는 SPL 토큰을 정의하는 민트 계정의 주소입니다.
- Destination Associated Token Address (ATA): 토큰을 보낼 연관 토큰 계정의 주소입니다.
SDK의 도움 없이 명령어를 구성할 계획이라면, 이러한 민팅 설정 및 그 이상을 명령어 인수와 나머지 계정의 조합으로 제공해야 합니다. 자세한 내용은 Candy Guard의 프로그램 문서를 참조하세요.
NFT 소각 가드로 민팅
다음과 같이 mintArgs 인수를 사용하여 토큰 결제 가드의 민팅 설정을 전달할 수 있습니다.
mintV2(umi, {
// ...
mintArgs: {
tokenPayment: some({
mint: tokenMint.publicKey,
destinationAta,
}),
},
});
API 참조: mintV2, TokenPaymentMintArgs
라우트 명령어
토큰 결제 가드는 라우트 명령어를 지원하지 않습니다.
