概要
「バーン」という用語の意味については、PlayMining用語集 をご参照ください。
たとえば現実世界のトレーディングカードは、再販を考えない場合、最初に印刷された枚数が市場流通するカードの最大値です。
しかし、捨てられる、破られる、燃やされるなどにより、その最大値が時を経る中で減少し、特に希少価値の高いレアカードなどが、発売当時は考えられなかったような値段で取引されることもあります。
翻ってPlayMiningのNFTは、基本的にアセット単位でトークン発行上限数を定めているため、上記と同様に市場流通量の最大値が決まっています。
ここから更に、ユーザーが所持している、またはCONTENTS_DEFAULT口座にてコンテンツが保管しているNFTトークンをバーンし、市場流通量の最大値を減少させ、希少価値を高める施策は十分に考えられるでしょう。
バーンする毎に報酬をプレゼントするなど、ユーザーに何かしらインセンティブを与えて、日常的にバーンされるよう促していけば、既存NFTの価値が高まり、将来販売するNFTについても価値の信用できる魅力的な商品と見られることが期待されます。
以上のように、バーンはNFTトークンの価値向上に有用な機能ですが、ここでは実際にバーンを実装する場合のシーケンスなどを説明します。
なお、バーンに用いるAPIの仕様に関しては、NFT管理 をご参照ください。
注意点
- バーンの実施判断はコンテンツ側に一任しております。
- バーンを許容するNFTの市場流通量が完全に失われる可能性も考慮して、実施を検討してください。
- たとえば一部のアセットもしくはトークンのバーンを不可とするような場合は、コンテンツ側で独自にバリデーションをかけてください。
- バーン実行後はトークンが二度と戻りません。下位環境でしっかり確認した上で、本番環境においても本当にバーンして問題ないトークンかを確認するなど、慎重に実装して下さい。
シーケンスと実装方法
ユーザーが所持しているNFTトークンのバーン
sequenceDiagram
autonumber
actor ユーザー
participant ユーザー口座
participant コンテンツ
participant PMP
participant Zeroアドレス
ユーザー ->>+ コンテンツ: バーン実行
コンテンツ ->>+ PMP: バーン要求API
PMP -->>- コンテンツ: バーン承認用URL
コンテンツ -->>- ユーザー: 承認ページを表示
ユーザー ->>+ PMP: 承認
ユーザー口座 ->> Zeroアドレス: NFT移転
PMP -->>- ユーザー: バーン完了
コンテンツ ->>+ PMP: バーン結果確認API
PMP -->>- コンテンツ: バーン完了
PMP ->> PMP: ブロックチェーンへの取り込み
ユーザーのバーン実行を受け付けたら、バーン要求APIをリクエストします。
レスポンスとして、PlayMiningNFTで用意しているバーン承認ページURLが返りますので、ユーザーに承認ページでバーンを承認するよう促してください。(リダイレクトオプションを利用して、ページ遷移させる形を推奨します。)
承認ページの表示後は、バーン結果確認APIをリクエストして、バーン状況を監視します。
ステータスがREQUESTED以外に変わるまで必ず監視し、どのステータスに変わったかに従って、コンテンツ内での後続処理に移ってください。(どうしてもステータスの変化を打ち切る必要がある場合は、バーン要求キャンセルAPIをリクエストして、以後ユーザーが絶対に承認できないようにしてください。)
注意点でも記載しましたが、アセット単位またはトークン単位でのバーン可否に関してはコンテンツ側でご判断ください。
コンテンツが保管しているNFTトークンのバーン
sequenceDiagram
autonumber
participant コンテンツ
participant コンテンツ口座
participant PMP
participant Zeroアドレス
コンテンツ ->>+ PMP: コンテンツ口座用バーンAPI
コンテンツ口座 ->> Zeroアドレス: NFT移転
PMP -->>- コンテンツ: バーン完了
PMP ->> PMP: ブロックチェーンへの取り込み
基本的には、コンテンツ口座用バーンAPIのリクエストするだけでバーンが完了します。
ユーザーと同様にバーン結果確認APIをリクエストすることで、バーン状況を確認することはできますが、特に監視の必要はありません。