플러그인

플러그인 위임 및 취소

Last updated January 31, 2026

이 가이드는 Core Asset에서 플러그인 권한을 위임하고 취소하는 방법을 보여줍니다. 플러그인 제어권을 다른 주소에 전달하거나 플러그인 데이터를 영구적으로 불변으로 만들 수 있습니다.

학습 내용

  • 플러그인 권한을 다른 주소에 위임
  • 위임된 권한 취소
  • 다양한 플러그인 유형의 취소 동작 이해
  • 플러그인 데이터를 불변으로 만들기

요약

approvePluginAuthority()를 사용하여 플러그인 권한을 위임하고 revokePluginAuthority()로 취소합니다. 다양한 플러그인 유형에는 다양한 취소 동작이 있습니다.

  • 소유자 관리: Owner 권한으로 취소됨
  • 권한 관리: UpdateAuthority로 취소됨
  • 권한을 None으로 설정하면 플러그인이 불변
  • 소유자 관리 플러그인은 Asset 전송 시 자동 취소

범위 외

플러그인 제거 (플러그인 제거 참조), 플러그인 추가 (플러그인 추가 참조), 영구 플러그인 권한 변경.

빠른 시작

바로 가기: 권한 위임 · 권한 취소 · 불변으로 만들기

  1. 새 권한 주소로 approvePluginAuthority() 호출
  2. 취소하려면: revokePluginAuthority() 호출
  3. 불변으로 만들려면: 권한을 None으로 설정

권한 위임

플러그인은 Delegate Authority 명령 업데이트를 통해 다른 주소에 위임할 수 있습니다. 위임된 플러그인은 주요 권한자 외의 주소가 해당 플러그인 기능을 제어할 수 있게 합니다.

플러그인 권한 위임

import { publicKey } from '@metaplex-foundation/umi'
import { approvePluginAuthority } from '@metaplex-foundation/mpl-core'
const assetAddress = publicKey('11111111111111111111111111111111')
const delegate = publicKey('33333333333333333333333333333')
await approvePluginAuthority(umi, {
asset: assetAddress,
plugin: { type: 'Attributes' },
newAuthority: { type: 'Address', address: delegate },
}).sendAndConfirm(umi)

권한 취소

플러그인 권한을 취소하면 플러그인 유형에 따라 다른 동작이 발생합니다.

  • 소유자 관리 플러그인: 소유자 관리 플러그인에서 주소가 취소되면 플러그인은 기본적으로 Owner 권한 유형으로 돌아갑니다.
  • 권한 관리 플러그인: 권한 관리 플러그인에서 주소가 취소되면 플러그인은 기본적으로 UpdateAuthority 권한 유형으로 돌아갑니다.

누가 플러그인을 취소할 수 있나요?

소유자 관리 플러그인

  • 소유자가 소유자 관리 플러그인을 취소하면 위임을 취소하고 pluginAuthority 유형을 Owner로 설정합니다.
  • 플러그인의 위임된 권한자가 스스로 취소할 수 있으며, 이는 플러그인 권한 유형을 Owner로 설정합니다.
  • 전송 시, 소유자 관리 플러그인의 위임된 권한자는 자동으로 Owner Authority 유형으로 취소됩니다.

권한 관리 플러그인

  • Asset의 업데이트 권한자가 위임을 취소할 수 있으며, 이는 pluginAuthority 유형을 UpdateAuthority로 설정합니다.
  • 플러그인의 위임된 권한자가 스스로 취소할 수 있으며, 이는 플러그인 권한 유형을 UpdateAuthority로 설정합니다. 플러그인과 해당 유형 목록은 플러그인 개요 페이지에서 확인할 수 있습니다.

플러그인 권한 취소

import { publicKey } from '@metaplex-foundation/umi'
import { revokePluginAuthority } from '@metaplex-foundation/mpl-core'
await revokePluginAuthority(umi, {
asset: asset.publicKey,
plugin: { type: 'Attributes' },
}).sendAndConfirm(umi)

Asset 전송 시 위임 재설정

모든 소유자 관리 플러그인은 Asset 전송 시 위임된 권한자가 취소되어 Owner 권한 유형으로 다시 설정됩니다. 여기에는 다음이 포함됩니다:

  • Freeze Delegate
  • Transfer Delegate
  • Burn Delegate

플러그인 데이터를 불변으로 만들기

플러그인 권한을 None 값으로 업데이트하면 플러그인 데이터가 효과적으로 불변이 됩니다.

경고 - 이렇게 하면 플러그인 데이터가 불변이 됩니다. 주의하세요!

플러그인을 불변으로 만들기

import {
approvePluginAuthority
} from '@metaplex-foundation/mpl-core'
await approvePluginAuthority(umi, {
asset: asset.publicKey,
plugin: { type: 'FreezeDelegate' },
newAuthority: { type: 'None' },
}).sendAndConfirm(umi)

일반적인 오류

Authority mismatch

이 플러그인을 위임하거나 취소할 권한이 없습니다. 현재 권한자만 위임할 수 있고; 소유자/권한자만 취소할 수 있습니다.

Plugin not found

Asset/Collection에 이 플러그인 유형이 첨부되어 있지 않습니다.

Cannot revoke None authority

None 권한이 있는 플러그인은 불변입니다. 취소할 권한이 없습니다.

참고 사항

  • 위임은 제어권을 전달하지만 원래 권한자의 취소 능력을 제거하지 않음
  • 권한을 None으로 설정하면 영구적이며 되돌릴 수 없음
  • 소유자 관리 플러그인은 Asset이 새 소유자에게 전송될 때 자동 취소됨
  • 취소는 기본 유형 (Owner 또는 UpdateAuthority)으로 권한을 반환

빠른 참조

플러그인 유형별 취소 동작

플러그인 유형취소 대상
소유자 관리Owner 권한
권한 관리UpdateAuthority

누가 위임/취소할 수 있나요

작업소유자 관리권한 관리
위임소유자업데이트 권한자
취소소유자 또는 위임자업데이트 권한자 또는 위임자

FAQ

취소와 제거의 차이점은 무엇인가요?

취소는 플러그인을 제어하는 사람만 변경합니다—플러그인과 데이터는 그대로 유지됩니다. 제거는 플러그인 전체를 삭제합니다.

여러 주소에 위임할 수 있나요?

아니요. 각 플러그인은 한 번에 하나의 권한자만 가집니다. 새 주소에 위임하면 이전 권한자가 대체됩니다.

Asset을 전송할 때 위임된 플러그인은 어떻게 되나요?

소유자 관리 플러그인은 자동으로 Owner 권한으로 취소됩니다. 권한 관리 플러그인은 변경되지 않습니다.

권한을 None으로 설정한 것을 취소할 수 있나요?

아니요. 권한을 None으로 설정하면 플러그인이 영구적으로 불변이 됩니다. 이는 되돌릴 수 없습니다.

위임자가 스스로 취소할 수 있나요?

네. 위임된 권한자는 자신의 접근 권한을 취소할 수 있으며, 이는 기본 권한 유형으로 제어권을 반환합니다.

관련 작업

용어집

용어정의
위임자플러그인의 임시 제어권을 부여받은 주소
취소위임된 권한 제거, 기본값으로 반환
None 권한플러그인을 불변으로 만드는 특수 권한 유형
자동 취소전송 시 소유자 관리 플러그인의 자동 취소
플러그인 권한플러그인을 제어하는 현재 주소