【NFT-Drive】フルオンチェーンNFTのデコード手順(概要)を公開します
1)はじめに
NFT-Driveを利用したフルオンチェーンNFTのデコードを行い、独自のビューアにてNFTを表示したいとの要望を数多く頂いております。そのため、NFT-Driveでは、デコードの手順の概要を公開するとともに、一定の条件(以下、利用規約)をクリアしたプロダクトのみをNFT-Drive公式ビューアとして認定し、推奨ビューアとしてご紹介することを考えています。以降は、利用規約に同意頂いた方のみ、デコード手順を参照し、開発に取り組んでいただければ幸いです。
2)利用規約
1.フィルタリング機能の実装
誤って機密情報を含むデータや違法データがオンチェーン上にアップロードされた場合に備え、NFT-Driveではフィルタリング機能を実装しています。
公開が好ましくないこれらのデータはNFT-Driveではブラックリスト化しており、データを非公開にしています。 デコード機能を再現し、NFTのビューアを実装される利用者は、必ずブラックリスト(*)を取得の上、機密情報を含むデータや違法データを公開しないように実装してください。
(*)最新のブラックリストはNFT-DriveのエンドポイントからAPIを実行することにより取得できます。
2.NFT-Driveによる審査の実施
本デコード機能の実装手順を公開することにより、利用者が機密情報や違法データを意図せずに公開してしまう恐れがあるため、独自に開発されるビューア機能のローンチ前にNFT-Driveによる審査を実施いたします。デコード機能を実装し、ビューアを一般に公開する場合にはNFT-Driveの審査を通過したものをオフィシャル版とし、NFT-DriveのHPでも紹介することを考えています。
3)デコード手順(概要)
- SymbolのアドレスのTX履歴からアグリゲートトランザクションのみすべて抽出します。
- アグリゲートトランザクションからMOSAIC作成、数量変更のTXを除外します。
- 取り出したアグリゲートトランザクションの1件目がヘッダー番号になっていますので、これを並べ替えます。
- ヘッダー番号0番のみ16件までがメタデータになっていますので、別途取り出します。
- ヘッダー番号0番の構造(下記参照)。アグリゲートトランザクション番号順です。
- 内包トランザクションは常に正しい順番なのでヘッダー番号順にデータを読み込み復元します。
==================================
ヘッダー番号0番の構造 (数字は内包TXの順)
==================================
1 ヘッダー番号
2 作者のアドレス
3 MOSAIC ID
4 シリアルナンバー
5 メッセージ
6~15 拡張スペース(通常未使用)
16~ (Base64データ)※ここから最後までがデータ領域です。
==================================
ヘッダー番号0番以降 (数字は内包TXの順)
==================================
1 ヘッダー番号
2~ (Base64データ)※ここから最後までがデータ領域です。
==================================
実装面における不明点は、直接開発者であるボー太郎博士までお問合せ下さい。
4)フィルタリング機能(ブラックリスト)
利用規約に定めた通り、NFT-Drive公認とするビューアには、フィルタリング機能の実装を必須としていますので、本APIをご活用ください。
■NFT-Driveフィルター API ver 1.0.0
https://nftdrive-explorer.info/black_list/
■リストの例
[["1","1DA6F75007CCAB60","2021-10-28 18:21:05"]]
■リスト内容の解説
"1" = 「id(通し番号)」
"1DA6F75007CCAB60" = 対象となるNFTの「MOSAIC ID」
"2021-10-28 18:21:05" = 「登録日時」
0コメント