4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

NFTとは

昨今NFTが盛り上がっています。NFTとはNon-Fungible Tokenの略で、代替不可能トークンとも呼ばれます。
Fungibleとは代替可能であること、分かりやすく言うと足し算引き算ができることを意味します。
Bitcoinを例に取ると、1 Bitcoinは他のどの1 Bitcoinとも同じ=代替可能(同じ意味を持ち、他との区別はない)ため、足し算して2 Bitcoinとすることができます。
一方、NFT(Not Fungible)は代替不可能なものであり、足したり引いたりすることができません。例えば家や絵画の所有権は合算したり分割したりすることはできません。NFTは、ブロックチェーン上で管理される所有権と言い換えても差し支えないと思います。ほとんどの場合、デジタルアートの所有権を意味しています。
そしてNFTの標準規格であるERC721に従って定義しておくことで、特定の第三者に依存することなく、トークンの所有権を証明したり、所有権を売買したりできます。
最近は猿のデジタルアートが数十億円で売れたり、DisneyがNFTを売出したりとNFT市場が加熱しています。

NFT自動生成

猿のデジタルアートであるBored Apeを例に取ると、全ての作品を手書きで作成している訳ではなく、背景、服、目、口といった構成要素をランダムに組み合わせてデジタルアートを自動生成しています。
それぞれのパーツのレアリティ(出現確率)を予め設定していくことで、各個体の価値を差別化しています。
各個体がどのパーツで構成されているかは、ERC721 TokenにおけるMetadata(属性情報)の仕様に準拠しています。
ERC721に準拠することで、異なるSmartContract間でNFTをやり取りしたり、[Open Sea] (https://opensea.io/)等の二次流通市場で統一的なUIの提供を実現しています。

本投稿では、デジタルアートの構成要素を組み合わせてNFTの画像を生成し、ERC721に準拠したMetadataを生成するツールについて紹介します(不定期連載)。

今回作成したNFT自動生成ツール

今回作成したツールを用いると、下記のような流れでNFTを自動生成することができます。

  1. 素材となる画像を配置
  2. レアリティ設定ファイルの生成
  3. NFT(デジタルアートとMetadata)を生成
  4. レアリティ統計情報(各構成要素の出現確率)の集計

デモ

ツールの実行結果を示すデモ動画を作成しました(上記流れの3〜4の部分のみ)。
デジタルアートの素材として緑色と青色の背景、四角形と星型の図形を用意しています。背景と図形を組み合わせることで、4パターンのデジタルアートとMetadata(Jsonファイル)を生成しています。また、動画の最後には各構成要素の出現確率を集計したJsonファイルを表示しています。

  • 素材1:背景
green.png blue.png
  • 素材2:図形
rectangle.png star.png
  • 実行結果デモ
    nft-demo.gif

実際には背景、服、目、口等の素材を数種類用意することで、1万パターン以上のNFTを生成することができます。各素材の出現確率も設定することができ、設定した値通りの配分で生成することでレアリティを操作できるようにしています。

さいごに

多くの反響があればツールの使い方について詳しく解説していきたいと思います。また、ツール公開に向けて作業を進めていきます。

4
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?