Candy Machine은(는) 지원이 중단되어 더 이상 적극적으로 유지 관리되지 않습니다. 대신 Core Candy Machine 사용을 권장합니다.
사용 가능한 가드
토큰 결제 가드
개요
토큰 결제(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
라우트 명령어
토큰 결제 가드는 라우트 명령어를 지원하지 않습니다.
