【完全保存版】Metaplex のCore NFTのプラグインのロジックを学ぼう
当記事は、こちらを翻訳・編集したものです。
0 はじめに
コアアセットのライフサイクル中には、以下のような複数のイベントがトリガーされることがあります。
作成
移転
更新
焼却
プラグインの追加
承認権限プラグインの承認
承認権限プラグインの削除
ライフサイクルイベントは、アセットの作成からウォレット間の移転、さらにはアセットのバーンまで、アセットにさまざまな影響を与えます。
アセットレベルまたはコレクションレベルでアタッチされたプラグインは、これらのライフサイクルイベントの間に検証プロセスを経て、イベントの実行を承認、拒否、または強制的に承認するかを判断します。
1 プラグインとは?
プラグインは、NFTに追加の機能を提供したり、データを保存したりするオンチェーンアプリのようなものです。
2 プラグインの種類
1 オーナー管理プラグイン
オーナー管理プラグインは、アセットオーナーの署名がトランザクションに含まれている場合にのみコアアセットに追加できるプラグインです。
オーナー管理プラグインには、以下が含まれますが、これに限定されません。
移転代理(マーケットプレイス、ゲーム)
凍結代理(マーケットプレイス、ステーキング、ゲーム)
焼却代理(ゲーム)
オーナー管理プラグインが権限を設定せずにアセットやコレクションに追加された場合、権限タイプはオーナーのタイプにデフォルトされます。
オーナー管理プラグインの権限は、移転時に自動的に取り消されます。
2 権限管理プラグイン
権限管理プラグインは、MPLコアアセットまたはコアコレクションの権限がいつでも追加および更新できるプラグインです。
権限管理プラグインには、以下が含まれますが、これに限定されません。
ロイヤリティ
更新代理
属性
権限管理プラグインが権限引数なしでアセットやコレクションに追加された場合、プラグインは更新権限タイプにデフォルトされます。
3 永続プラグイン
永続プラグインは、コアアセット作成時にのみ追加できるプラグインです。
すでに存在するアセットには永続プラグインを追加することはできません。
永続プラグインには、以下が含まれますが、これに限定されません。
永続移転代理
永続凍結代理
永続焼却代理
永続プラグインが権限を設定せずにアセットやコレクションに追加された場合、権限タイプは更新権限タイプにデフォルトされます。
3 コレクションプラグイン
コレクションプラグインはコレクションレベルで追加され、コレクション全体に影響を与えることができます。
たとえば、ロイヤリティのためのプラグインをコレクションアセットに割り当てると、そのコレクション内のすべてのアセットがそのプラグインを参照するようになります。
コレクションには、永続プラグインと権限管理プラグインのみが使用可能です。
4 プラグインの優先順位
MPLコアアセットとMPLコアコレクションアセットが同じプラグインタイプを共有している場合、アセットレベルのプラグインとそのデータがコレクションレベルのプラグインよりも優先されます。
これを創造的に使用することで、コレクション内のアセットのレベルごとに異なるロイヤリティを設定することができます。
たとえば:
コレクションアセットには2%のロイヤリティプラグインが割り当てられている
コレクション内の非常にレアなMPLコアアセットには5%のロイヤリティプラグインが割り当てられている
この場合、コレクションの通常のMPLコアアセットの販売では2%のロイヤリティが維持されますが、非常にレアなMPLコアアセットの販売では、独自のロイヤリティプラグインが優先され、5%のロイヤリティが適用されます。
5 プラグインとライフサイクルイベント
1 各プラグインが持つ能力
MPL Coreのプラグインは、作成、移転、焼却、更新などの特定のライフサイクルアクションに影響を与えることができます。
各プラグインは、アクションに対して「拒否」、「承認」、または「強制承認」のいずれかの結果をもたらす能力を持っています。
ライフサイクルイベント中に、アクションはあらかじめ定義されたプラグインのリストを順にチェックし、これらに対して検証を行います。
2 プラグインの検証ルール
プラグインの条件が検証されると、ライフサイクルは通過し、アクションを継続します。
もしプラグインの検証が失敗すると、ライフサイクルは停止され、拒否されます。
プラグインの検証ルールは、以下の条件階層に従って決定されます。
強制承認がある場合は、常に承認する。
それ以外で拒否がある場合は、拒否する。
それ以外で承認がある場合は、承認する。
それ以外は拒否する。
強制承認の検証は、1stパーティプラグインおよび永続デリゲートプラグインにのみ適用されます。
3 強制承認
強制承認は、プラグインの検証を行う際に最初にチェックされる条件です。強制承認を行うプラグインには、以下が含まれます。
永続移転(Permanent Transfer)
永続焼却(Permanent Burn)
永続凍結(Permanent Freeze)
これらのプラグインは、その非永続バージョンや他のプラグインよりも優先してアクションを実行します。
たとえば、あるアセットに「凍結プラグイン」がアセットレベルで設定されており、同時にそのアセットに「永続焼却プラグイン」が設定されている場合、アセットが凍結されていても、永続焼却プラグインによって呼び出された焼却手続きは強制承認の性質により実行されます。
サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊