外部プラグイン

外部プラグインの削除

Last updated January 31, 2026

このガイドでは、Core AssetsとCollectionsから外部プラグインを削除する方法を説明します。不要になったOracleまたはAppDataプラグインを削除します。

学べること

  • Assetsから外部プラグインを削除
  • Collectionsから外部プラグインを削除
  • authority要件の理解
  • 削除されたプラグインからのレントの回収

概要

AssetsにはremovePlugin()を、CollectionsにはremoveCollectionPlugin()を使用して外部プラグインを削除します。プラグインauthorityのみが外部プラグインを削除できます。

  • プラグインタイプとベースアドレスを指定
  • プラグインデータは削除される
  • レントは回収される
  • プラグインauthorityの署名が必要

対象外

外部プラグインの追加(外部プラグインの追加を参照)、プラグインデータの更新、および組み込みプラグインの削除(プラグインの削除を参照)。

クイックスタート

ジャンプ先: Assetから削除 · Collectionから削除

  1. 削除するプラグインタイプとベースアドレスを特定
  2. プラグインキーを指定してremovePlugin()を呼び出し
  3. プラグインは即座に削除され、レントは回収される

Assetから削除

Assetから外部プラグインを削除

Assetから外部プラグインアダプターを削除するには、removePlugin()関数を使用する必要があります。

import {publicKey } from '@metaplex-foundation/umi'
import { removePlugin, CheckResult } from '@metaplex-foundation/mpl-core'
const asset = publicKey('1111111111111111111111111111111')
const oracleAccount = publicKey('2222222222222222222222222222222')
await removePlugin(umi, {
asset,
plugin: {
type: 'Oracle',
baseAddress: oracleAccount,
},
})

Collectionから削除

Collectionから外部プラグインを削除

Collectionから外部プラグインアダプターを削除するには、removeCollectionPlugin()関数を使用する必要があります。

import { publicKey } from '@metaplex-foundation/umi'
import { removeCollectionPlugin, CheckResult } from '@metaplex-foundation/mpl-core'
const collection = publicKey('1111111111111111111111111111111')
const oracleAccount = publicKey('2222222222222222222222222222222')
removeCollectionPlugin(umi, {
collection,
plugin: {
type: 'Oracle',
baseAddress: publicKey(oracleAccount),
},
})

一般的なエラー

Authority mismatch

プラグインauthorityのみが外部プラグインを削除できます。正しいキーペアで署名していることを確認してください。

Plugin not found

指定されたキーを持つ外部プラグインがこのAsset/Collectionに存在しません。

注意事項

  • プラグインを削除するとすべてのデータが削除される
  • レントは回収され、支払者に返される
  • プラグインauthorityのみが削除可能(通常はupdate authority)
  • 外部Oracle/AppDataアカウントは削除されない—アダプターのみ

FAQ

Oracleプラグインを削除するとOracleアカウントも削除されますか?

いいえ。Asset上のプラグインアダプターのみが削除されます。外部Oracleアカウントは残り、再利用できます。

削除前にAppDataを復元できますか?

はい。データを保存する必要がある場合は、プラグインを削除する前にfetchAsset()を使用してAppDataを読み取ってください。

レントはどうなりますか?

プラグインアダプターからのレントは回収され、トランザクションの支払者に返されます。

関連操作