플러그인

Burn Delegate

Last updated January 31, 2026

Burn Delegate 플러그인은 지정된 권한자가 소유자를 대신하여 Core Asset을 소각할 수 있게 합니다. 게임 메커니즘, 구독 서비스 및 자동화된 자산 수명 주기 관리에 유용합니다.

학습 내용

  • Asset에 Burn Delegate 플러그인 추가
  • 소각 권한을 다른 주소에 위임
  • 소각 권한 취소
  • 사용 사례: 게임, 구독, 자동화 소각

요약

Burn Delegate는 위임자가 Asset을 소각할 수 있게 하는 소유자 관리 플러그인입니다. 추가되면 위임자는 소유자 승인 없이 언제든지 Asset을 소각할 수 있습니다.

  • 프로그램이나 지갑에 소각 권한 위임
  • Asset 전송 시 권한 취소됨
  • 취소 불가능한 소각 권한은 Permanent Burn Delegate 사용
  • 추가 인자 필요 없음

범위 외

Collection 소각 (다른 프로세스), 영구 소각 권한 (Permanent Burn Delegate 참조), Token Metadata 소각 권한 (다른 시스템).

빠른 시작

바로 가기: 플러그인 추가 · 권한 위임 · 취소

  1. Burn Delegate 플러그인 추가: addPlugin(umi, { asset, plugin: { type: 'BurnDelegate' } })
  2. 선택적으로 다른 주소에 위임
  3. 위임자가 이제 언제든지 Asset을 소각할 수 있음

Burn vs Permanent Burn Delegate 사용 시기

사용 사례Burn DelegatePermanent Burn Delegate
게임 아이템 파기✅ 최선의 선택✅ 사용 가능
구독 만료✅ 최선의 선택❌ 너무 영구적
동결된 Asset 소각❌ 소각 불가✅ 강제 소각 가능
전송 시 권한 유지❌ 취소됨✅ 유지됨
긴급 소각 기능❌ 제한적✅ 최선의 선택
Burn Delegate 선택 소유권 변경 시 소각 권한이 재설정되어야 할 때.
Permanent Burn Delegate 선택 권한이 영원히 유지되어야 할 때.

일반적인 사용 사례

  • 게임 메커니즘: 아이템이 소비, 파괴 또는 게임 내에서 분실될 때 NFT 소각
  • 구독 서비스: 만료된 구독 토큰 자동 소각
  • 제작 시스템: 새 아이템을 제작할 때 재료 NFT 소각
  • 업적 교환: 보상으로 교환 시 업적 토큰 소각
  • 이벤트 티켓: 이벤트 체크인 후 티켓 소각
  • 한정 시간 자산: 만료 기간 후 자산 소각

호환 대상

MPL Core Asset
MPL Core Collection

인자

Burn 플러그인은 전달할 인자가 없습니다.

Asset에 Burn 플러그인 추가

MPL Core Asset에 Burn 플러그인 추가

import { publicKey } from '@metaplex-foundation/umi'
import { addPlugin } from '@metaplex-foundation/mpl-core'
(async () => {
const asset = publicKey('11111111111111111111111111111111')
await addPlugin(umi, {
asset: asset,
plugin: { type: 'BurnDelegate' },
}).sendAndConfirm(umi)
})();

소각 권한 위임

Burn Delegate 플러그인 권한은 approvePluginAuthority 함수를 사용하여 다른 주소에 위임할 수 있습니다. 이를 통해 누가 Asset을 소각할 수 있는지 변경할 수 있습니다.

소각 권한 위임

import { publicKey } from '@metaplex-foundation/umi'
import { approvePluginAuthority } from '@metaplex-foundation/mpl-core'
(async () => {
const assetAddress = publicKey('11111111111111111111111111111111')
const newDelegate = publicKey('22222222222222222222222222222222')
await approvePluginAuthority(umi, {
asset: assetAddress,
plugin: { type: 'BurnDelegate' },
newAuthority: { type: 'Address', address: newDelegate },
}).sendAndConfirm(umi)
})();

소각 권한 취소

소각 권한은 revokePluginAuthority 함수를 사용하여 취소할 수 있으며, 이는 자산 소유자에게 제어권을 반환합니다.

소각 권한 취소

import { publicKey } from '@metaplex-foundation/umi'
import { revokePluginAuthority } from '@metaplex-foundation/mpl-core'
(async () => {
const assetAddress = publicKey('11111111111111111111111111111111')
await revokePluginAuthority(umi, {
asset: assetAddress,
plugin: { type: 'BurnDelegate' },
}).sendAndConfirm(umi)
})();

일반적인 오류

Authority mismatch

소각 위임 권한자만 Asset을 소각할 수 있습니다. 올바른 키페어로 서명하고 있는지 확인하세요.

Asset is frozen

동결된 Asset은 소각할 수 없습니다. 동결 권한자가 먼저 Asset을 해동해야 합니다.

참고 사항

  • 소유자 관리: 추가하려면 소유자 서명 필요
  • Asset 전송 시 권한이 자동으로 취소됨
  • 동결된 Asset은 소각 불가
  • 전송 후에도 권한이 유지되어야 하면 Permanent Burn Delegate 사용
  • 소각은 즉시 적용되며 되돌릴 수 없음

빠른 참조

누가 소각할 수 있나요?

권한자소각 가능?
Asset 소유자예 (항상)
Burn Delegate
Permanent Burn Delegate예 (force approve)
업데이트 권한자아니요

FAQ

Burn Delegate와 Permanent Burn Delegate의 차이점은 무엇인가요?

Burn Delegate 권한은 전송 시 취소됩니다. Permanent Burn Delegate 권한은 영구적으로 유지되며 forceApprove를 사용하므로 Asset이 동결되어 있어도 소각할 수 있습니다.

Burn Delegate가 있어도 소유자가 소각할 수 있나요?

네. 소유자는 위임자와 관계없이 항상 자신의 Asset을 소각할 수 있습니다.

Burn Delegate가 동결된 Asset에 작동하나요?

아니요. 일반 Burn Delegate는 동결된 Asset을 소각할 수 없습니다. 동결된 Asset을 소각해야 하는 경우 Permanent Burn Delegate를 사용하세요.

Burn Delegate는 언제 취소되나요?

Asset이 새 소유자에게 전송될 때. 새 소유자는 새로운 Burn Delegate를 추가해야 합니다.

관련 플러그인

용어집

용어정의
Burn Delegate위임자가 Asset을 소각할 수 있게 하는 소유자 관리 플러그인
소유자 관리추가하려면 소유자 서명이 필요한 플러그인 유형
취소위임자의 소각 권한 제거
Permanent Burn Delegate전송 후에도 유지되는 취소 불가능한 버전
forceApprove동결 제한을 무시하는 영구 플러그인 기능