Drops on OpenSeaを使ってみる
Early accessを申請していたDrops on OpenSeaがようやく利用可能になったので、さっそく使ってみました。
Drops on OpenSeaとは
2022年12月にクローズド版としてリリースされたNFTクリエイター向けのツールで、アローリスト管理やランディングページの作成ができます。従来のOpenSea Shared Storefrontとは違い、独自コントラクトを利用できるのが特徴です。詳細は下記スレッドを御覧ください。
実際に使ってみる
手順を以下にまとめます。
スマートコントラクトをdeployする
まず、コレクションのスマートコントラクトをデプロイする必要があります。OpenSeaの右上からメニューを開き、“My Collections” > “Create a collection” をクリックします。"Deploy your own contract" が出現しているので、クリックしてContinueしましょう。
次にコレクションの情報を入力していきます。トークンシンボルとチェーン情報はあとから変更できないので注意しましょう。
"Deploy contract" をクリックするとコントラクトのデプロイが始まります。この際、ガス代がかかるので予め準備しておきましょう。
ちなみに、この記事を書いている2/17時点では合計26,000円ほどの見積もりが出ました。(なかなか良いお値段なので、以降はtestnetで実施しました)
デプロイが完了するとDropsの画面が作成されます。
ここまで1行もコントラクトを書いていないことに気付いたでしょうか。Etherscanでデプロイされたコントラクトを見てみると、ERC721SeaDropのコントラクトが使われていることがわかります。
コントラクトにカスタマイズが必要なければ、デプロイまですべてGUIのみで作成できてしまう ことがわかりました。
(任意)カスタマイズされたコントラクトを使用する
NFTに独自機能を実装するために、カスタマイズされたコントラクトをデプロイすることもできます。コントラクトはERC721SeaDropに準拠している必要があります。こちらのリポジトリをcloneし、 ERC721SeaDrop.sol
をカスタマイズして下記コマンドでdeployできます。
forge create --rpc-url $RPC_URL --private-key $PRIV_KEY --constructor-args "ExampleToken" "ExTkn" \\[0x00005EA00Ac477B1030CE78506496e8C2dE24bf5]
3つ目の引数で指定している allowedSeaDrop
は、あとから updateAllowedSeaDrop
functionで変更できます。
ドロップ情報を編集
スマートコントラクトがデプロイできたら、ドロップ情報を編集していきます。「Settings」ではmintする個数や開始日、プレセールの設定ができます。mint数を限りなく大きな数値にすることで、実質OpenEditionみたいなこともできるようです。
プレセールではアローリスト(限られたwalletアドレスだけにmintを許可すること)の設定ができます。アローリストはcsv形式でアップロードができます。セールは5段階まで開催が可能で、各セールごとに30,000件までwalletアドレスを設定できます。
「Earnings」ではドロップの収益を設定できます。
デフォルトでOpenSeaの手数料が10%に設定されます。この値を変更すると、ドロップがOpenSeaに表示されなくなるので注意してください。
「Drop Page」ではドロップページの外観を編集できます。
バナー画像の他、ロードマップ、チーム紹介、FAQなどを設定できます。
ドロップを公開する
すべての情報を設定したらドロップを公開してみましょう。
この際もガス代がかかるので、十分なEthereumを用意しておくことをおすすめします。
メタデータを設定する
ここまではOpenSeaのサイト上から設定できましたが、メタデータを返すサーバーは自身で用意する必要があります。最初のmintまでに setBaseURI
を実行して、JSON形式のメタデータを返すURIを設定しておきましょう。
ちなみに setBaseURI
を実行する際に BatchMetadataUpdate
イベントが発火し、OpenSeaがそれをリッスンするため、手動でリフレッシュボタンを押してもらう必要はないようです。
Discussion