플러그인
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 소각 권한 (다른 시스템).
빠른 시작
- Burn Delegate 플러그인 추가:
addPlugin(umi, { asset, plugin: { type: 'BurnDelegate' } }) - 선택적으로 다른 주소에 위임
- 위임자가 이제 언제든지 Asset을 소각할 수 있음
Burn vs Permanent Burn Delegate 사용 시기
| 사용 사례 | Burn Delegate | Permanent 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를 추가해야 합니다.
관련 플러그인
- Permanent Burn Delegate - forceApprove가 있는 취소 불가능한 소각 권한
- Freeze Delegate - 일시적으로 전송과 소각 차단
- Transfer Delegate - 위임자가 Asset을 전송할 수 있도록 허용
용어집
| 용어 | 정의 |
|---|---|
| Burn Delegate | 위임자가 Asset을 소각할 수 있게 하는 소유자 관리 플러그인 |
| 소유자 관리 | 추가하려면 소유자 서명이 필요한 플러그인 유형 |
| 취소 | 위임자의 소각 권한 제거 |
| Permanent Burn Delegate | 전송 후에도 유지되는 취소 불가능한 버전 |
| forceApprove | 동결 제한을 무시하는 영구 플러그인 기능 |
