誰でもできる独自コントラクトNFTの設定方法
公開日時:2022/2/22 15:00
公開日時
2022/2/22 15:00
今回は「独自コントラクト」について解説します。
本記事を書いている私も「YANCHA CATS」というNFTコレクションをイーサリアムチェーンの独自コントラクトで運営しています。
今回は、独自コントラクトにするべきかの判断方法や、実際にする際の設定方法を誰でもできるように解説します。
NFTクリエイターだけでなく、NFTコレクターも自分が購入するNFTの価値が毀損するリスクがないのか、判断する一材料になると思いますので、目を通していただけると嬉しいです。
「独自コントラクト」は、ブロックチェーン技術に存在する概念ではありません。
OpenSeaが用意したスマートコントラクトである「共用コントラクト」に対して、それを利用せずに自前のスマートコントラクトを用意することを「独自コントラクト」と呼んでいます。
特段の設定をせずに、OpenSeaでMint・Listされる方がほとんどだと思いますが、それは「独自コントラクト」を利用せずにOpenSeaの「共用コントラクト」を利用しているということになります。
昨今、この共用コントラクトの問題点が注目されるようなニュースがあり、独自コントラクトに興味を持たれる方も増えています。
それでは、ほとんどの方が利用している共用コントラクトの何が問題なのでしょうか。
共用コントラクトの問題点が注目を浴びたきっかけは、以下のニュース記事に記載のように1/27にOpenSeaが、最大で50個のNFTのコレクションを5つ(計250個)までを無料発行可能とする、という共用コントラクトへの制限をかけたことにあります。
OpenSeaの無料発行機能でミントされたNFTの8割以上が不正か
この機能制限自体はユーザーの猛反発を受けて翌日には撤回されていますが、これをきっかけにOpenSeaが共用コントラクトで運営しているコレクションに対して今後どのような制約をかけてくるか不透明という考えが強まりました。
そのため、このようなOpenSeaの中央集権的な制約への依存度を下げるべく、独自コントラクトへの注目が高まっています。
一方で、共有コントラクトという機能をOpenSeaが作ったのには理由があり、以下のようなメリットがあります。
ガス代があまりかからない。ただし、こちらはPolygonの場合は独自コントラクトでもガス代は対してかからないため、イーサリアムチェーンのみのメリットとなる
OpenSeaの操作さえ知っていればNFTを販売できる簡便さがある。独自コントラクトは別途ツールの操作やスマートコントラクトのプログラミングが必要。
※ 共用コントラクトだと、購入○日後に卵が進化して別の作品になるといった、リビール機能がやりづらいといった作品表現に関わる問題もあるのですが、大半の方にとってはこのようなニーズはないと考えているので、触れずに進めていきたいと思います。
ここからは独自コントラクトにすべきかの判断方法について解説します。これについては、考え方は様々あり筆者の一意見として捉えていただければと思います。
まず、初めに前提条件について記載します。詳しくは後述するのですが、独自コントラクトを発行するツールもあるため必ずしもコードを書く必要はなく、またコレクション途中からの独自コントラクトへの移行も可能です。
そのため、独自コントラクトに関して「コードを書いたり、エンジニアに依頼しなければならないんじゃないか」「コレクションが作り直しになってしまうのではないか」という懸念はない前提で記載しています。
結論
基本的に、コレクションの途中からの移行であっても、独自コントラクトを導入した方がよい
ただし、giveawayのみのコレクションなど継続運営する意図が小さいものは除く
理由
継続運営する意図があるコレクションに関して、OpenSeaが今後どのような制約をかけてくるかわからないというリスクをより排除できる。
独自コントラクトにしても、Polygonはガス代があまりかからないのでデメリットが少ない(Mintの度に数円以下)
独自コントラクト発行ツールの使い方は覚えなければならないが、それはそれほど手間ではないのではないか
結論
基本的に、独自コントラクトを発行することにガス代がかかるため、その費用負担とどれだけOpenSeaの中央集権性を排除したいかを天秤にかけて独自コントラクトを発行するか判断する
後述するchocofactoryを利用する場合は、初回のスマートコントラクトのデプロイに約1万円、NFT作品のMintごとに数千円かかる(ガス代はチェーンの混雑状況による)
ただし、giveawayのみのコレクションなど継続運営する意図がないものは、共用コントラクトで良い
理由
Polygonと比較するとガス代は無視できないレベルなので、OpenSeaの制約を排除したいといっても、費用負担と天秤にかけて判断する必要がある
独自コントラクトの設定に関して、エンジニアがチーム内にいない限り、筆者は独自コントラクトでのMintツールである chocofactory の利用を推奨しています。
まず現実的にはクリエイターがエンジニアと繋がり、適切にコミュニケーションし、費用をお支払いすることは、理想的には最良の案であっても、現時点では大半の場合困難だと考えています。
また、筆者は調査の結果、chocofactoryの信頼度やメリットは以下のように判断しました。
ソースコードが公開されているオープンソースのサービスであったこと。それは開示してもよいというソースコードに対する自信の表れでもあり、他のエンジニアのフィードバックによってソースコードがさらに改善されていくことも表しており信頼できた。(筆者もコードを読ませていただきました)
利用実績・紹介実績が一定あったため、信頼できた
技術上の工夫によりガス代が安くなる仕組みがあり、その点メリットだった
NFT作品のデジタルデータの保全性を高める技術であるIPFSにも簡単に対応できる点もメリットだった
chocofactoryの使い方は公式ドキュメントが日本語で充実しているためそちらに説明を譲らせていただきます
ドキュメントの最下部に公式discordへのリンクがあるため、不明点はそちらで質問可能です。
なお、chocofactoryでは、NFT作品のデジタルデータの保全性を高める技術であるIPFSにも対応できるのですが、ドキュメントには載っておらずdiscordで質問することで対応できました。
※ IPFSについては、後ほど別途記事に書いていきたいと思います
既にアイテムがあるコレクションを独自コントラクトにするとコレクションが作り直しになってしまうのではないか、という懸念をよく目にします。
結論から言うと、OpenSeaでは既にアイテムがあるコレクションが独自コントラクトに移行する際には、コレクションの作り直しにはなりません。
ただし、既に共用コントラクトで作成されたアイテムを独自コントラクトにすることはできず、独自コントラクトで発行されたNFT以降のみ独自コントラクト、という形になります。
つまり、コレクションの中に共用コントラクトのアイテムと独自コントラクトのアイテムが共存する形です。
この場合初期の作品のみ独自コントラクトではないという形にはなるため、それを避けるならコレクションの最初のアイテムから独自コントラクトで発行するのが望ましいです。(筆者はそのようにしています)
また、既に共用コントラクトのアイテムがあるコレクションに関して、クリエイター自身の判断でこのような初期作品のみ共用コントラクトであることを許容しない場合は、コレクションの作り直しになります。
補足として、OpenSeaでそのアイテムが独自コントラクトなのか共用コントラクトなのか確認する方法を記載いたします。
OpenSeaでアイテムの画面を開き、Detailsパネルの「Contract Address」欄のリンクをクリックします。
Token Tracker欄に「OpenSea」 の記載があれば共用コントラクトです。そうでなければ、独自コントラクトになります。
ここまで独自コントラクトのメリットや設定方法を記載いたしました。
クリエイター・コレクター双方の参考になりましたら幸いです。
事実情報の誤認などございましたら、YANCHA CATSのTwitterアカウントまでご連絡いただけますと幸いです。
コミュニティの力で良い情報にできればと考えております。よろしくお願いいたします。
公開日時:2022/2/22 15:00
公開日時
2022/2/22 15:00