NFT のバブルに乗っかってみた
「よく知らんけど NFTがバブルらしいし、なんか作って売れば儲かるんじゃね?」
そんな勘違いから、独自コントラクトをデプロイして NFTを 100+9個作ってみました。
そしたら、ガス代が12万円もかかったんですよ。
おまけに、1つも売れないんです(2021/4/3 2:00)。
と思ったら、2つ売れました(2021/4/7 23:30)。
4週間経過して、10個売れました(2021/4/25 20:30)。
2か月ほど経過して、14個売れました(&追加で5個発行)(2021/6/5 09:30)。
そろそろ3か月の時点で、21個売れました(2021/6/27 18:30)。
4か月ほどで、30個売れました(&追加で1個発行)(2021/8/7 9:00)。
5か月ほどで、41個売れました(&追加で3個発行)(2021/9/10 21:00)。
7か月ほどで、48個売れました(2021/10/31 13:30)。
1年をはるかにすぎた今、52個売れました(2022/8/19 22:00)。(※記事の末尾に所感も追記)
まぁ全然元は取れていないわけですが、失敗は成功のお母ちゃんっていいますし、誰かの役に立つかもしれないと思い、OpenSea に独自コントラクトの NFTを売り出すまでの、私なりのポイントをまとめてみました。
独自コントラクトってなに?
NFTを作成&管理するには、スマートコントラクト(SmartContract)とよばれるブロックチェーン上で動くプログラムが必要になります。
Ethereumを例に説明しますと、ERC721/ERC1155という規格に準拠するスマートコントラクトで作成されたNFTは、OpenSeaがその出現を検知して、コレクションとして並べてくれるようになります。
さて、OpenSeaにはあらかじめ、マーケット側が用意したスマートコントラクトがあり、OPENSTOREなどと呼ばれます。利用者が自分でスマートコントラクトを準備しなくても、OPENSTOREを利用することでNFT(コレクション)が作成可能です。このようなスマートコントラクトは「共用コントラクト」と呼ばれます。
・OpenSeaの共用コントラクト(Mainnet)
・OpenSeaの共用コントラクト(Polygon)
一方で、共用コントラクトでできないことをやりたい場合、自前でスマートコントラクトを用意して、独自のMINT処理(NFTの作成)を実装する必要があります。このようなスマートコントラクトが「独自コントラクト」と呼ばれます。
・今回作成した独自コントラクト(Mainnet)
(URLにある"0x"からはじまる長い英数字がスマートコントラクトのアドレスとなり、独自の値となります)
例えば、以下のようなことをしたい場合、独自コントラクトを検討することになります。
・プライベートセール(専用の販売サイトで売りたい)
・一度に複数のNFTを作成できるようにしたい(MINT時のガス代を抑えたい)
・特殊なメタデータを扱いたい(html+JavaScript等)
高額なガス代は必要経費!?
今回、独自コントラクト&NFT を作るにあたって消費したガスの量は、次の2つです。
・スマートコントラクトのデプロイ:1,684,148 gas
・NFTの発行(100個分):5,142,866 gas
で、「1ガスにつきいくら払うか」の指標であるガス価格は、だいたい 83〜100 Gwei くらいでした。
消費される Eth は「ガス量×ガス価格」となるので、かかったコストは 約 0.65 Eth。NFT を発行した日の Eth の価格が 約185,000円 ほどだったので、おおよそ 12万円 の出費ということになります。
ちなみに、これでもかなりガス量を節約してガス価格が低いタイミングを見計ったつもりです。ある程度凝ったスマートコントラクトを作ったり、さらに多くのNFTを発行したりしたら、20万円、30万円は軽く超えるのではないかと思います...。
当たればでかい NFT バブルです。10万円程度は必要経費とわりきりましょう。
Rinkeby で徹底的にテスト!
Mainnet でのガス代はとにかく高額です。あやふやな状態で本番環境にスマートコントラクトをデプロイしたり、NFT を発行していては、お金(ガス代)がいくらあっても足りません。
そこで大活躍するのが、テストネットである Rinkeby です。Rinkeby ではトランザクションの履歴等が確認できる、便利な etherscan(Rinkeby) が利用できるだけでなく、NFT マーケットのテスト環境として OpenSea Testnets まで用意されています!
これを使わない手はありません!
下記の項目に関して、気の済むまで検証しましょう。
・スマートコントラクトをデプロイして、etherscan 上でトークンとして認識されるか?
・OpenSea で NFT がリストアップされるか?
・OpenSea で MetaData が読み込まれてトークンごとの情報が正常に表示されるか?
・OpenSea で NFT が取引できるか?
・OpenSea で オーナーとして認識されてコレクションを管理できるか?
検証が済んだら、デプロイ&トークン発行の手順を書き出しておき、Mainnet では手順を繰り返すだけですむぐらいまで突き詰めましょう。
必要になる Eth の試算
検証がおわたっら、作成する NFT の数を検討し、必要なガス量の試算をしましょう。
スマートコントラクトのデプロイと、NFT の発行にかかるガス量があらかじめわかっていれば、あとはガス価格の想定です。想定する「ガス量×ガス価格」で算出された Eth を、デプロイ用のアカウントに転送しておきましょう。
ガス価格の見極め
Eth 転送が終わったら、すぐにもデプロイしたい気持ちは分かりますが、そこはグッと我慢して、冷静にガス価格を見極めましょう。この時、ガストラッカーが心強い味方となってくれるはずです。
この記事を書いている時点(2021/4/3)での個人的な印象として、週間のガス代のピークは金曜日の夜(日本時間)でAverage 240〜300gwei 程度の印象です。一方で、土曜の午後〜月曜の朝にかけては、運が良いと Average 80〜120gwei くらいまで下がってくれる印象です。
タイミングによって、2〜3倍ぐらいの価格差がでるので、様子見に1週間ぐらいかけるつもりで、気長にいきましょう。
いざ Mainnet へのデプロイ!
デプロイの環境は truffle、ブロックチェーンへの接続は Infura で行いました。
Mainnet への接続設定は↓こんな感じです。
const HDWalletProvider = require('@truffle/hdwallet-provider');
var privatekey = "コントラクトオーナーのアドレスの秘密鍵"
module.exports = {
networks: {
mainnet: {
provider: function(){
return( new HDWalletProvider( privatekey, `https://mainnet.infura.io/v3/[Infuraキー]`) );
},
network_id: 1,
gas: 1200000, // 1.2 m ← 1回のトランザクションのガス量の上限
gasPrice: 91000000000, // 91 gwei ← 支払うガス価格
from: "コントラクトオーナーのアドレス"
}
},
// Configure your compilers
compilers: {
solc: {
settings: {
optimizer: {
enabled: true,
runs: 200
}
}
}
}
}
スマートコントラクトをデプロイするアドレスを from として指定します。デプロイ後、このアドレスで OpenSea へアクセスし、「My Collections」を開けば NFT のオーナーとして認識してくれるはずです。
また、コンパイルの指定では忘れずに最適化を有効にしておきましょう(単純に容量が減ってガス量の節約にもなります)。ここの設定は、後々、etherscan でスマートコントラクトのコードをベリファイする際に指定することになります。
さらに、migrate の際は、4回のトランザクション(Migrations+Tokenの2コントラクトの場合)を一度に成功させないといけません。
・Migrations スマートコントラクトのデプロイ
・Migrations の setCompleted(1) の呼び出し
・Token スマートコントラクトのデプロイ
・Migrations の setCompleted(2) の呼び出し
この時、最後のトランザクションの呼び出し時点で、ガスの残高が 「gas x gasPrice」 以上ないと失敗するので注意が必要です。また、gasPrice を低くしすぎると migrate が 750秒 でおわらず、 truffle 上でエラーになってしまいます。
また、さらに用心するのなら、下記のようにマイグレーション(デプロイ)を分割してもよいでしょう。
> migrate --f 1 --to 1
> migrate --f 2 --to 2
先の説明で、高額のガス代は必要経費とかきました。
migrate 時はある程度余裕をもった額をアドレスに入金しておき、気持ち高めのガス価格を指定するのが安全かと思います。
OpenSea による承認
NFT 発行後の最大ポイントが、OpenSea で承認されるか否かです。承認されていない NFT は OpenSea の公開リストに表示されないようなので、人目につく可能性がほぼ皆無となってしまいます。
公式ツイッターによるとレビューは自動で行われ、1週間ぐらいで承認されるようなことが書いてあります。
が、現在(2021/4/3 2:00)のところ、登録後5日経った私のNFTは承認されておりません。
何か用件があるのかもしれないので、わかったら追記いたします。
(※NFTが公開されたので末尾の更新履歴に追記いたしました 2021/4/3 22:00 )
おわりに
「自分の描いた絵が売れるかもしれない!」
「まかりまちがって高額で取引されるかもしれない!?」
そんな夢を追い求める人は、是非 NFT の作成にチャレンジしてみてください。
いっしょに、狂騒の海へ飛び込みましょう!
更新履歴
2021年 4月 3日 22:00
OpenSeaに承認されたようで NFT がリストに表示されました。
公式のツイート通り、約1週間ほどかかったことになります。
ちなみに、コレクション名に Blue Checkmark はつきませんでした。
OpenSeaのFAQによると、Blue Checkmark は一般に認知されている人気クリエイターのコレクションでないとつかないとのことです。
2021年 4月 7日 23:30
2021年 4月 25日 20:30
3~10個めが売れました!
OpenSea のリストの上部に表示されるように定期的に値下げしたり、twitterでつぶやいてみたり…。地道な活動の効果が出てくれたのかもしれません。
2021年 6月 5日 09:30
11~14個めが売れました!
売れ行きが鈍化してきたので、テコ入れとして動画のNFTを5個追加発行してみました。
が、現状では動画NFTは1つも売れてません...。
静止画のNFTとくらべてView数が多め(50~100ほど)なので、多少は人目を引いているとは思うのですが。
2021年 6月27日 18:30
Ethereum のガス価格ですが、最近は安定して 10 Gwei を下回っています。この記事を書いた3か月前は、100 Gwei 越えが当たり前だったというのに随分な下落ぶりです...。
で、最近のガス安で、NFTが買われやすくなるんじゃないかと期待していたわけですが、売れ行きは特に変化ありません。むしろ、NFT市場の熱気がずいぶんと冷めてきたような感じがします。
『Ethereum のトランザクションが飛び交っていたからこそガス価格が高騰していた』
そう考えると、ガス価格が1/10ほどになった今、NFTのブームも過ぎ去ってしまったのだという寂しい感じすらします...。
ちなみに、ガス価格 10 Gwei で私のNFTの発行にかかったガス代を計算すると 約 0.068 ETH ほど。最近の Ethereum の相場が20万円ほどなので、約 13,652 円ということになります。なんという、平和なガス代でしょうか(記事としてのインパクトはなくなりますが...)。
2021年 8月7日 9:00
パロディ系のほうが売れるのかと思ったので、動画の NFTを1つ追加したりしました。
が、やっぱり売れてません。
(価格設定が強気すぎるのだと思うのですが、うっかり売れてほしいなぁなんて...)
一方で、通常版のほうは22~30個めが売れました!
実のところ、ここ一カ月ほど、まったく宣伝活動をしていなかったのですが、なぜかグイッと売れだしました。
↑ が売れ行きのグラフなのですが、ここ数日(8/3~8/6)で5個も売れています。
1つ思い当たる節が、IOSTブロックチェーンの REVIVALというサイトに浮気して、そちらにも NFT作品を出品しだしたということ。REVIVAL(というか IOST)はガス代が無料で、どんなに安く出品しても赤字にならないため、最低価格(1.0 IOST = 2円ほど)でオークションを開催しているのですが、それが、そこそこ目立ってくれているのではないかと思っています。
で、NFTの説明に「画像生成の素となる乱数(フレーバー的に Mysterious Seed と記載)を含んでいる完全版は OpenSeaで売っている」と書いてあるのですが、そこのリンクから来てくれた人が買ってくれたのではないかと推測しています。
いや、単なる偶然かもしれませんし、今後の推移を見守りたいと思います。
あと、REVIVALに期待しすぎるあまり記事を書いたので、興味のある方はどうぞ。
2021年 9月10日 21:00
外国の人には和風が受けるんじゃね?
と思い、民芸品をモチーフにした動画のNFTを3個追加発行してみました。
が、駄目! 動画NFTは何をどうしても売れてくれません...。
で、通常版のほうですが、しぶとく31~41個めが売れました!
前回、売り上げが急に伸びた原因を、REVIVAL効果ではないかと思ったのですが、因果関係はいまいちよくわかりません。8月~9月頭までのOpenSeaの売上としては、まとまって売れる時がある一方で、パタリとうれなくなる時期もあったり、不思議な波がある印象です。そろそろ、NFTを売り始めて半年近くになろうかという時点で、「こうやったから売れたのでは?」という確証に一歩も近づけていません。
さてさて、一方で、この一カ月のNFT界隈は、にわかに活気づいてきました。
・Generativemasks
・Pudgy Penguins
・Loot
最近の傾向としては、提供側がNFTを作成してOpenSeaへ並べるのではなく、一次販売サイトでユーザーにNFTを作らせる形式が多い気がします。この形式は、提供側、ユーザー側双方にメリットがあります。
まず、提供側はNFTの作成のガス代を支払わなくて済むので、10000といった多量のNFTを比較的ローリスクで販売できます。また、ユーザー側は複数個のNFTを一度に購入することで、1つ当たりの購入ガス代を割安にすることができます。
うーん、これはなかなか良いやり方ですね。気になる点としては、購入(NFTを発行)するまで何が出るかがわからない、いわゆるガチャっぽい所でしょうか?
それにしても、Lootには驚きました。文字列をNFTにして売るなんて! そして、それがとんでもない売上を叩き出すなんて...。
いま、全世界で、同じようなNFTを作り出そうと頭をひねっている人が沢山いるんでしょうね。
2021年 10月31日 13:30
いやはや、ここ2月ほど何もしてませんでした。
とは言え、OpenSeaのNFTはチマチマ売れていて、通常版の42~48個めが売れました!
それはそうと、中国政府がマイニングを規制してしまいました!
https://jp.reuters.com/article/crypto-currency-china-idJPKBN2GK0RZ
Ethereumに限らず、かなりの数のマイニング拠点(ノード)が減ったのだと思うのですが、そのせいでトランザクションの処理が追い付かずに、ガス価格が高止まりしている印象です。実際、マイニングが規制されたタイミング(10/24)を境に、ガス価格が 100 gwei を下回らなくなってしまいました。
最近のEthereumの値上がりもあいまって、NFTの販売/購入時のガス代の負担はさらに厳しいものになってしまいました...。
あと、面白いプラグインがありました。
NFTがどれだけWeb3上で構成されているかを数値化する、NFTの「スカウター」みたいなものらしいです。データの恒久性や改ざんを気にするこだわり派は、こういったツールで、買うか買わないかの判断をするのかもしれませんね。
ちなみに、私のNFTの戦闘力は「54」でした。
コントラクトのコードがベリファイされていたり、メタデータや画像をIPFS(Web3)に置くと高得点になるようです。独自コントラクトを作成する方は、可能な限り、データをIPFSに置くと吉かもしれません。
2022年 8月19日 22:00
気が付けば、NFTの存在を半年以上忘れていました...。
この間、49~52個めがひっそりと売れてくれたのですが、ついにアニメNFTが1つ売れました!
感慨深いものがあります。
ところで、今更ですが、NFTの素材をIPFSへ置きなおしました。
前々から、ファイルサーバーに置いているのが恥ずかしかったのですが、ようやくIPFSへ移行できて、NFTとしての体裁が整った気がします。
で、例のNifty Scannerで戦闘力を計り直したら87になりました!
誰も気にはしていないでしょうが、当の本人はオールグリーンで良い気分です♪