お知らせ:TwitterでNFTをプレゼント中。

ジェネレーティブNFT作成してOpenseaでMintする手順

  • URLをコピーしました!

ジェネレーティブNFTとしてCRYPTO RAPSを先日9,999体をOpenseaにてMintしたわけですが、続いてCRYPTO SKATERSもMintしていこうと準備しました。

https://opensea.io/collection/cryptoraps-aka-olivefarm

そのついでにどうやってやれば良いのかを記事にしてみました。是非参考にしてください。

前回似たような記事を書きましたが、あちらの記事では設定や使い方を説明していて、今回の記事は手順に沿って解説しております。

あわせて読みたい
ジェネレーティブNFTを制作してOpenseaでMintする方法 最近ジェネレーティブNFTを作ってMintすることに成功しました。 大きな流れとしては... まず最初にレイヤー画像を用意します。これはイラスト制作のソフトを使用して各...
目次

1.レイヤーを作成

レイヤーというのは画像の階層みたいなイメージです。今回の記事ではこのレイヤーについては触れませんが、多くのソフトがありますので各自で調べて作ってみてください。

レイヤーごとにフォルダーを作成

レイヤーというのは画像の一部のパーツのことです。

顔で例えると、目・鼻・口のレイヤーを複数用意して複数の顔の画像を制作したりします。

これは各自で用意してください。

2.ソフト・プログラムを入手

ジェネレーティブNFTを作成するのに使うソフト・プログラムとして「Visual Studio Code」「hashlips art engine」「Node.js」の3つがあります。

あと他にも「Pinata」「Remix」も使用しますが、これらはソフトではなくオンラインサービスですので、今回の入手するソフトは上の3つとなります。

これらは無料で入手できますので下記のダウンロードリンクから入手してみてください。

Visual Studio Codeを入手

Visul Studio Codeは後ほど紹介する「hashlips art engine」をインポートして使用するソフトです。

わたしの場合にはMacを使っているので、Mac版をダウンロードして使用しています。対応しているOSとしてはWindows、Linux、Macの3種類のOSに対応しているようです。

ダウンロードしたファイルはzipファイルなので、解凍してください。

https://code.visualstudio.com/download

Visual Studio Code

hashlips art engineを入手

hashlips氏により作られたhashlips art engineというプログラムがあります。

これはジェネレーティブNFTを製作するのに特化しているプログラムです。下記のリンクから誰でも無料でダウンロードすることができます。

ダウロードしたファイルはzipファイルであり、圧縮されています。ファイルを解凍しておいてください。

https://github.com/HashLips/hashlips_art_engine

hashlips art engine

Node.jsソースコードを入手してインストール

Node.jsのソースコードも入手しましょう。

これはVisual Studio CodeのターミナルでジェネレーティブNFTを製作する際にコマンドを実行しますが、このソースコードがないと実行ができません。

ほとんどの人がこのソースコードをパソコンに入れていないと思いますので、ダウンロードしてインストールしましょう。

わたしの場合にはmacなので、macOS installerのところをクリックしてダウンロードします。

https://nodejs.org/en/download/

node.jsのインストーラー

ダウンロードすると、デスクトップにこんな感じであります。pkgファイルです。デフォルトだとダウンロードというフォルダーにダウンロードされているかと思います。

node.jsのインストーラー
パッケージ

これをダブルクリックすると、インストーラーが開きます。進んでいってインストールするだけです。

node.jsをインストール

あとからVisual Studio Codeのターミナルで「npm install」のコマンドを実行しますが、Node.jsがインストールされていないと「command not found(コマンドみつかりません)」というエラーで進めません

このNode.jsのインストールが完了すると、普通に進めることができます。

Node.jsのインストール完了すると、その後はもうNode.jsと関わることはないので忘れてもらって結構です。

3.ジェネレーティブアートを作る

ジェネレーティブアートを作るのにはVisual Studio Codeにhashlips art engineをインポートして使います。

config.jsを修正したり、フォルダーを修正したりなどしてから「node index.js」でジェネレーティブアートを作っていきます。

Visual Studio Codeを起動

上で入手したVisual Studio Codeをまず起動してください。

hashlips art engineをインポート

Visual Studio Code上で「File」→「Open Folder」をクリックして、ダウンロードした「hashlips art engine」のフォルダーを選択してください。

これによってインポートします。

Visual Studio CodeでHashlips art engineをインポート

パッケージをインストール

つぎにターミナルを開いて、「npm install」を実行してください。

npm installを実行

ここでもし「command not found」というエラーが出た場合には、node.jsがインストールされていませんので上記の情報を読み直して入手&インストールするようにしてください。

レイヤーを準備

つぎにレイヤーを準備します。

hashlips_art_engine/layerの中に作成したレイヤーをフォルダー分けして入れ込んでください。

フォルダー名称などの原理に関してはこちらの記事を参考にしてください。

あわせて読みたい
ジェネレーティブNFTを制作してOpenseaでMintする方法 最近ジェネレーティブNFTを作ってMintすることに成功しました。 大きな流れとしては... まず最初にレイヤー画像を用意します。これはイラスト制作のソフトを使用して各...

hashlips art engineのconfig.jsを編集

config.jdsですが、hashlips art engineのメインとなるプログラムです。いじるのはこのこのファイルだけでOKです。

config.js内にある「layersOrder」後の部分のフォルダー名称を入れ込んだレイヤーのフォルダーにあうように修正してください。

config.jsを編集

growEditionSizeToの部分が作られるジェネレーティブアートの数を示しています。作りたい数に変更してください。

config.jsで画像の数を指定

namePrefixの部分がOpenseaにmintした際にNFTの名前となる部分です。例えば、ここをCRYPTO RAPSとした場合には、「CRYPTO RAPS #1」「CRYPTO RAPS #2」CRYPTO RAPS #3」のような名前でmintされます。

config.jsでコレクションの名前を変更

つぎにdescriptionですが、こちらはNFTのページのdescriptionになります。修正してください。

config.jsでコレクションの概要を編集

externak_urlはNFTのページの外部リンクの部分です。自分のサイトとかSNSのリンクへ変更してください。

config.jsの外部リンクを変更

さいごに変更した内容を保存してください。「File」→「Save」で変更したconfig.jsを保存することができます。

config.jsを編集したら保存

node index.jsを実行

ーミナルで「node index.js」を実行してください。

これにより上でconfig.jsを編集した内容の画像とjsonファイルが自動で生成されます。

node index.jsを実行

4.Pinataに画像をアップロード

NFTのサーバーであるPinataに画像をアップロードします。後ほどjsonファイルをアップロードしますが、この段階では画像ファイルだけです。

Piantaに画像ファイルをアップロードして、そのサーバーの情報をjsonファイルに反映させてからjsonファイルをアップロードし、そのjsonファイルを使ってOpenseaにMintするという流れなのです。

Pinataに登録

Pinataを使用するのにまずは登録をしてください。登録を済んでいる方は、改めて登録は不要です。

pinata.cloud公式サイト

Pinataに画像ファイルをアップロード

Pinataに画像をアップロードします。まずは「upload」の部分をクリックしてください。

pinataに画像をアップロード

画像ファイルのあるフォルダーを選択します。

pinataで画像をアップロード

ファイルを移動していない場合には、hashlips_art_engine/build/imagesになります。

pinataで画像をアップロード

上の方にポップアップ画面が出てきますので、「アップロード」をクリックしてください。

pinataで画像をアップロード

つづいてフォルダー名称を入力します。「コレクション名称_images」のような名前にすると良いかと思います。

pinataで画像をアップロードして名称を入力

アップロードを行うと、数分かかりアップロードが完了します。わたしの場合には4分掛かりました

pinataで画像をアップロードしてからCIDをコピー

5.jsonの情報をアップデート

次にjsonファイルをアップデートします。

hashlips art engineでファイルを実行した際に、画像ファイルとjsonファイルの2種類が生成されました。しかしこのjsonファイルはopenseaでNFTをmintするのには情報として不十分な状態であり、pinataにアップロードした画像のurlの情報を更新します。

config.jsを更新

config.jsの「baseUri」の部分を変更します。変更する前のデフォルトの状態では「ipfs://NewUriToReplaces;」となっています。

config.jsにCIDを入力

更新する前のjsonファイルではこのようになっております。

jsonファイルでipfsが変更

pinataにアップロードした後に、CIDの部分をコピーしてください。

pinataでimageファイルのCIDをコピー

これをbaseUriの部分の”ipfs://”以降を書き換えます。まんまコピペで結構です。

CIDのコピーしたのをペースト

node utils/update_info.jsを実行

config.jsを編集した後に、ターミナルで「node utils/umadate_info.js」を実行してください。

このコマンドは情報だけをアップデートするコマンドです。jsonファイルのipfsの部分が更新されます。

jsonファイルだけをアップロード

このように更新されます。

jsonファイルが更新される

6. Pinataにjsonをアップロード

続いて更新したjsonファイルをアップロードします。このそれぞれのjsonファイルには画像のipfsが割り振られております。

後からOpenseaにmintする際には、これらのjsonファイルを使って実行していく重要な部分です。

pinataにアクセスしてjsonをアップロード

pianataにさきほど画像をアップロードしましたが、同様にjsonファイルをアップデートします。同様にpinataにログインして、アップロードをしましょう。

ログインして、「Upload」をクリックしてください。

pinataでjsonファイルをアップデート

ここでFolderを選択して、「Select」をクリックしてください。

jsonファイルをアップデート

「json」のフォルダーを選択して「アップロード」をクリックしてください。

わたしの場合には、パスはhashlips_art_engine/build/json/となっています。

jsonファイルをアップデート

ポップアップが出てきます。アップロードをクリックしてください。

なお画像が9,999個ある場合には、jsonファイルは10,000個となっています。画像+1個です。

jsonファイルをpinataにアップロード

アップロードするフォルダーに名称をつけます。

Pinataにアップロードしたフォルダの名称を決める

CID情報を入手

アップロードした後にCIDが表示されます。これを後からRemixに情報を入力する際に使うことになります。

PinataにjsonファイルをアップロードしてCIDを入手

なおいつアクセスしても、このCIDの情報を知ることが出来ます。

7. コントラクトをコンパイルしてデプロイ

Remixを使って、ジェネレーティブNFTのコントラクトをコンパイルしてデプロイしていきます。

Remix IDEにアクセス

ここからジェネレーティブアートをMintしていくわけですが、Remix IDEというサイトを使います。

下記のリンクからサイトに移動してください。

https://remix.ethereum.org/

「Start coding online」をクリックしてください。

remixでコードを入力

Workspacesを作成

Workspacesを作成して名称を入力します。

Workspacesの横にある「+」部分をクリックしてください。

remixでworkspacesを新規作成

Create Workspaceと表示されます。名前を入力してください。

remixでworkspacesを新規作成して名称をつける

Contractsの中身を削除

Contractsの中にある3つのファイルは不要なので削除してください。

1_Storage.sol
2_Owner.sol
3_Ballot.sol

シフトを押しながら3つを選択して、右クリックを押すと「Delete All(全てを消す)」をクリックしてください。

remixでコントラクトの不要なファイルを削除

このような表示になりますので、「ok」をクリックしてください。

remixでコントラクトのファイルを3つ削除

Contractsに新しいファイルを作成

contractsを右クリックして、「New File」を選択して新しくファイルを作成します。

コントラクトを新規作成

ファイル名は「******.sol」というようなファイル名をつけてください。

コントラクトのファイルに名前をつける

Contractをコピペ

Contractを入手してそれを貼り付け(ペースト)します。

コピーしてくるContractは過去にわたしがOpenseaにMintしたCRYPTORAPSのコントラクトです。

下記のリンクにアクセスしてコピーをしてください。

https://polygonscan.com/address/0x2826f3ab5e47fb6146ae2f32bfdf6c1aeaab17b9#code

CRYPTO RAPSのコントラクトをコピーして入手

Contractを編集

コントラクトを貼り付けた後に編集する必要があります。元のファイルはCryptoRaps用になっています。

これを各自のNFTの名称にあわせて変更をしてください。1247行目の部分です。

(こちらの画像ではCryptoSkatersに変更しました。)

コントラクトの一部を編集

Contractを保存

修正した後にコントラクトを保存します。macの場合には「command + s」をクリックして保存できます。よくある保存のショートカットキーと同じです。

Solidity compilerを変更

Solidity compiler(ソリッディティー・コンパイラー )の情報を変更します。

この2ヶ所にチェックを入れてください。Auto compile(自動コンパイル)、Enable optimization(最適化を有効)の2つです。

コンパイルする前にチェックを入れる

Compileを実行

Compile(コンパイル)をクリックして実行してください。

コントラクトをコンパイルする

デプロイのEnvironmentを変更

ENVIRONMENTを「Injected Web3」に変更します。

デプロイする前に環境の条件を変更

デプロイのCONTRACTを選択

つぎにCONTRACTの部分を変更します。「***** – contracts・・・」を選択してください。

Remixでデブロイするコントラクトを変更

デプロイの情報を変更

DEPLOYの部分を変更してください。

_NAMEは適当な名前にしてください。例:CryptoSkaters

_SYMBOLも適当な名前にしてください。例:SKATE

_INTBASEURIはipfs://*************************/という名前にします。

Remixでデプロイする際にトークンの名称を変更

_INTBASEURIの部分は非常に重要なので、詳細を説明します。

まず「ipfs://」と入力してください。

次に、pinataのCID部分をコピーして、ペーストしてください。

Remixでデプロイする時にpianaのCIDの情報をコピー

ペーストすると、「ipfs://QmSUkhYwkbez6YTvYmojofrcbRCfcp2cQfZAMx9AF3hVCj」となります。

さらに最後に「/」を付けてください。

「ipfs://QmSUkhYwkbez6YTvYmojofrcbRCfcp2cQfZAMx9AF3hVCj/」という風に入力をしてください。

トランザクトの情報をコピー

つづいて「transact」をクリックする前に、横にあるアイコンをクリックするとコピーができます。

その後に、メモに貼り付けてください。メモに貼り付けて後から使用します。

デプロイの情報を入れてトランザクトの情報をコピー

トランザクトを実行

ここまで情報を入力して「transact」をクリックして実行してください。

デプロイのトランザクトを実行

ここでもしPolygonを使う場合には、MetamaskでPolygonのネットワークに変更してください。

コントラクトIDを入手

Transactをクリックした後に、コントラクトIDをコピーしてください。

トランザクトした後にトランザクションIDを入手

8. PolygonscanでMint

RemixでもMintができるのですが、不便なのでPolygonscanを使ってMintします。

Polygonscanにログイン

Polygonscanにログインしてください。普通にトランザクションなどを見るだけならログインは不要なのですが、今回はOpenseaでMintしますのでログインが必要です。

コントラクトのページに移動

Polyfonscanにて、さきほどRemixでトランザクトした後に出てきたコントラクトIDを入れて検索してください。

ポリゴンスキャンにコントラクトIDを入力

これのことです。

RemixでコントラクトIDをコピー

つぎに「Contract」をクリックしてください。

ポリゴンスキャンでコントラクトをクリック

コントラクトを証明

コントラクトのページにある「Verify and Publish」の部分をクリックしてください。

ポリゴンスキャンでコントラクトを証明

下記のようなページに移動します。

ポリゴンスキャンでコントラクトを証明

この部分を以下のように情報を変更してください。

Please select Compiler Type:Solidity(Single file)

Please select Compiler Version:V0.8.7+commit.e28d00a7

Please select Open Source Licence Type:3)MIT License(MIT)

ポリゴンスキャンでコントラクトの情報を変更

Compiler Version(コンパイラーバージョン)ですが、Remixのコンパイラーの部分を確認して一致するようにしてください。

Remixのコンパイラーのバージョンを確認

つづいてOptimizationの部分を「yes」に変更します。

コントラクトのソースコードの最適化をyesにする

これはRemixでコンパイルする際に、「Enable optimization(最適化を有効にする)」をクリックしているのが前提です。

Remixでコンパイルの条件を確認

つぎにコントラクトのコードを入力します。

コントラクトのソースコードを入力

Remixでコンパイルしたコードをコピーして貼り付けてください。Remixのここの部分です。

Remixのコントラクトのソースコードを入手

貼り付けるとこんな感じです。

ポリゴンスキャンでRemixのソースコードを入力

つぎにConstructor Argumentsを入力します。これはRemixで入手した「Transact」の部分から入手して記入します。

これは最後の方の「0」が続く部分をコピーして貼り付けます。

コンストラクターアーグメントの情報を入力

成功したらこんな感じで表示されます。

ポリゴンスキャンのソースコードの確認ができた後

PolygonscanからMint

さいごにPolygonscanからMintします。

mintの部分を「0」、_mintAmount(unit256)にミントしたい数を入れてから「write」をクリックしてください。

ポリゴンスキャンでミントする

しばらくするとOpenseaでNFTがMintされます。

Mintされるとこんな感じです。

ポリゴンスキャンでOpenseaでMintした後

それぞれのページではこのようにプロパティーが表示されており、jsonファイルが反映されています。

Mintした後のNFTのページ

最終的にコレクションの名称とか、コレクションのロゴなどの設定は各自で手作業で行なってください。

以上ジェネレーティブNFTをMintする件に関しての説明でした。

何か質問や依頼などありましたら、Twitterにてご連絡ください。

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次