【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は法的措置を含む対応を行う場合があります。
3.NFT-Driveによる審査の実施
本デコード機能の実装手順を公開することにより、利用者が機密情報や違法データを意図せずに公開してしまう恐れがあるため、独自に開発されるビューア機能の公開前にNFT-Driveによる審査を実施いたします。デコード機能を実装し、ビューアを一般に公開する場合にはNFT-Driveの審査を通過した場合のみ公開する事ができます。
4.【補足】非公開での開発およびコードの公開について
NFT-Driveのデコード手順を参考にしたビューアや関連プログラムの非公開環境における開発・実験・利用については、NFT-Driveの審査を必要としません。
また、フィルタリング機能を実装した上であれば、ビューア機能の実装コード(ソースコード)自体をGitHub等で公開することも問題ありません。
ただし、それを通じて不特定多数が実行・利用できるWebサービスやアプリとして公開する場合は、必ず事前にフィルタリング機能を実装しNFT-Driveの審査を受けてください。
5.審査の申し込み
審査の申し込みは下記のメールアドレスへデコーダーのテストURL、コードなどフィルタリング機能が実装されている事が客観的にわかる資料を添付の上お送りください。
info@nftdrive.net
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" = 「登録日時」
以上
©株式会社NFTDrive
0コメント