🎨

Generative(ジェネレーティブ)NFTの作成に関わるあれこれ(thirdweb)

2022/05/29に公開

今回は、販売することを目的としておらず、Generative NFTがどういう仕組みで作られるのかを学習する目的としています。

Generative NFTとは

「生成にあたってプログラミング技術を使用して発行された作品」です。

(例)

  • 同じ構成をしたイラストを元に、カラーリングや服装、髪型、小道具の組み合わせをランダムで生成したNFT
  • 一定期間保有していると絵柄がランダムで変わる(リピールする)NFT
  • 時間経過と共に豆やカプセルから徐々に成長したり姿を変えたりするNFT

参考情報

今回は、「同じ構成をしたイラストを元に、カラーリングや服装、髪型、小道具の組み合わせをランダムで生成」という方法で、Generative NFTを作る流れを整理していきたいと思います。

Generative NFT 作成〜公開の流れ

大まかに作成の流れは下記となります。

Pythonスクリプトやthirdwebの利用方法については、参考情報に詳しく記載されているため、そちらを御覧ください。

  1. MetaMaskにMATIC(Polygon)を用意
  2. Pythonスクリプトを利用して画像を大量生成
    1. 参考情報: https://nft-media.net/genre/art/generative-nft-collection/6938/
      1. Pythonプログラムの動作準備
      2. パーツ画像の準備
      3. 画像とパラメータのCSVを生成
  3. thirdwebにてNFTを作成(NFT Drop)
    1. 参考情報: V2V1
      1. NFTデータ(大量画像とパラメータのCSV)をIPFSへ一括アップロード
      2. Drop方法の設定
      3. Embed Code(iframe埋め込みのコード)をコピー
    2. ※ 独自コントラクトのため、OpenSeaからも利用可能
      1. → 独自コントラストはこちらの記事をご参考ください
    3. ※ 法律面を考慮し、Mintは無料の設定(Free Mint) or テストネットで試す
  4. Minting サイト(販売用サイト)を作成・公開
    1. STUDIO(ノーコードのCMS)を利用
    2. thirdwebで取得したEmbed Codの(iframe)を埋め込む

いくつものサービスにまたがって作成していくことになりますが、ノーコードで作成から公開まで可能です。
ただし、Pythonのプログラムの部分だけ、コマンドラインを使用することになります。

thirdwebの提供しているコントラクト

ちなみに、thirdwebには、「NFT Drop」以外にもコントラクトを提供しています。
下記の参考情報に詳しく紹介されておりますので、御覧ください。

参考情報

4つのコントラクト

  • NFT Drop
    • ERC721、ガス代を購入者負担にすることができる
    • Lazy Minting
  • NFT Collection
    • ERC721、ガス代が自分負担で発行するタイプ
    • Semi-Fungible(ERC20とERC721のハイブリッド)
    • チケットなどの販売、メンバーシップの販売など見た目の媒体は同じでも中身が違う(座る席など)というタイプのものを発行する時に使われる
  • Edition Drop
    • ERC1155、ガス代を購入者負担にすることができる
    • 特定アドレスに向けてエアードロップ機能も可能。
  • Edition
    • ERC1155、ガス代が自分負担で発行するタイプ
    • 特定アドレスに向けてエアードロップ機能も可能。

Discussion