Metaani AirDrop 001の技術的な部分を調べてみた

Metaani AirDrop 001
MattaniとはサークルConataがホスティングしているブランドの1つと認識しています。Conataはクリプトを用いたコンテンツを出しているクリエイターサークルさんです。いわゆるVTuberの 希来里パイちゃんもこちらのクリエイターです。
Metaani is CryptoArt Collaboration Avatar for metaverse.
そんなサークルさんが、コンテンツをNFT化して無償で頒布されていました。
Metaani AirDrop 001
— mekezzo @Conata NFT x Metaverse (@mogmogvr) July 18, 2021
metaaniStoreへのポータルNFTを配布します!
Openseaの中で
マルチプレイメタバースが体験できる
めちゃくちゃ尖ったNFTなのでこの機会に是非Getしちゃってくださーい!!https://t.co/9f3oMoqJh3@metaani2 @opensea pic.twitter.com/yIdyXBqE6n
ところでゲットに失敗したらOpenSeaを覗きに行くと既に付与されているかもしれません。確認してみてください。
OpenSeaの使い方は簡単です。トップページの右上にある人間マークから「My profile」をクリックしてウオレットと紐づけるだけです。
https://opensea.io/
コンテンツの中で動き回れる仕組み
コンテンツはこちらからアクセスできます。
https://conata.world/metaani/shop?posx=0&posy=0&posz=0
上記のツイッターで観るとあたかもただの動画がNFT化されているように見えますが、実際にはインタラクティブなコンテンツです。
ゲームのFPSのように、W・A・S・Dキーとマウスで、アバターを動かすことができます。是非試してみてください。
これがどうなっているのだろう?というコメントを見かけたのでここに覗いてみました。
Webブラウザには開発者向けのツールが装備されているのですが、これでみるとゲームエンジンのUnityで制作されていることが推測できました。
今日のWebブラウザは画像 jpeg/png や動画などが再生できるように、WebGLといってインタラクティブな3Dコンテンツを再生することができます。試せていませんが、WebXRという標準規格も使われており、AR/VRで閲覧することもできるようです。また、処理を高速化するためにWebAssemblyと呼ばれる技術もあります。開発者はこれらを直接書くのではなくミドルウェアを活用することが多いです。今回は、ゲームエンジン Unity を通じてエクスポートしているような形だと推測されます。
いずれにせよ、今日のWebブラウザは昔あったFlash、ActiveX、Silverlightといった外部のプラグインによらず、Webブラウザだけでインタラクティブなコンテンツが実行できるというのがポイントです。
NFTが付与されるまでの流れ
話が少し変わりまして。
完全無料なんておかしい…!トランザクションが発生するという事はGAS代がかかるということ。どうなっているのだろう?と気になって調べてみました。
まず最初に、Get NFTを押したときにMetamskが動いたりはしませんでした。Metamskと連携してウオレットアドレスだけを取得しリクエストそのものはバックエンドで発行していると推測しました。本当は調査ツールで観てみたかったのですがパッと分からず…。もう少し裏取りできるようになりたいです(しくしく)
次に、OpenSeaというNFTマーケットに行って、Metamskを紐づけてみます。すると、上記のNFTを付与されていることが確認できます。
それを開くと、TransactionHistoryにMintedというイベントが記録されており、polygonsearchというトランザクションをWebページで観れるサイトへのリンクがあります。
Polygonネットワークで付与されていたという事が分かりました。
開いたトランザクションを確認すると、From: でウオレットアドレスと関連するコントラクトアドレスが見えました。
ウオレットアドレスを確認します。 これがバックエンドで使っているウオレットアドレスと推測できます。
https://polygonscan.com/address/0xe43b62a6817210c1b5a37780737f3e744a7f219d
ずらっとトランザクションリストが並んでいます。Get NFTした分でしょう。
To: は全てコントラクトアドレスです。これを辿るとERC-721 で、"metaani_airdrop001"という名称であることが分かります。また、ToransfersからNFTを所有しているウオレットアドレスが分かります。
Get NFTボタンを押したときに「5分待ってね」 という表示がされていました。もしかしたら集約できたらしてコストを下げようとしているのかも? と思ったのですが、リストを眺める限りは単純に1リクエスト1トランザクションで発行しているようでした。つまり、単純なトランザクション待ち時間として表示していると推測しました。
さて、元のGAS代どうなっているのだろう?という疑問について。結論として、みんながリクエストすると運営さんが支払っているという事でした。TxnFeesを覗くと集計されているっぽく。 現時点だとUSD 0.02なので2円ぐらいでした。
PolygonネットワークはいわゆるL2という認識です。トランザクションを集約して効率よく~ということはここが受け持っている形です。そのため、開発者はシンプルに実装すればよいわけですね。
まとめ
- MattaniがNFTを無料頒布していました
- NFTをリクエストしてOpenSeaから付与されていることを確認しました
- コンテンツはUnityで制作されており、Webブラウザの標準機能だけでインタラクティブなコンテンツを実現していました
- クリプトとしてどのようにトランザクションが発行されて付与されているかを調べてみました。運営のバックエンドがトランザクションを発行していると推測されます。また、Polygonネットワークが使われていました
