hanzochang
hanzochang
はじめに
thirdwebの使い方について
thirdwebの使い方- 独自コントラクトの作成と「NFTのMINTサイト」の作り方を紹介
各設定項目の詳細
よくある販売期間を設定した例
whitelistをアップロードする
whitelistを利用する場合の注意点
一人当たりの発行枚数を限定したい。
Premintでも限定したい
PublicMint
販売停止期間
「When will this phase start?」はローカルタイムゾーン
whitelistを利用する場合はパラメータの挙動が変わる。
https://s3.ap-northeast-1.amazonaws.com/hanzochang.com/13_Thumbnail_Image_bacb47ba08.png

thirdwebでの WhitelistMint / PreMint / PublicMint のやり方 - Claim Conditionsの知見とともに

NFTの配布では、一般にWhitelistMINT(WLMint)、PreMint、PublicMintといった配布方式があります。それらをthirdwebでどう実現していくかを説明していきます。

公開日2022.09.11

更新日2022.09.12

はじめに

NFTのMINTには

  • WhitelistMint (WL Mint)
  • PreMint
  • PublicMint

PublicMint

といったさまざまなMINT形式があります。

それらをthirdwebをつかってどう実現していくかを説明します。

thirdwebの使い方について

この記事では、thirdwebの基本的な使い方、MINTサイトの作成方法、画像のアップロード方法については解説していません。

thirdwebの一機能であるClaim Conditionのみ説明していきます。

それらを知りたい方は下記記事を参照ください。

thirdwebの使い方- 独自コントラクトの作成と「NFTのMINTサイト」の作り方を紹介

https://hanzochang.com/articles/10

thirdwebには、Claim Condition という設定項目があります。

「いつ」「誰に」「いくらで」「何回」NFTを発行できるのか?を設定することができます。

13_001.png

この設定は複数登録することができます。

これにより、Whitelistのみの期間、Premintの期間、PublicMintの期間、といった運用を行うことができます。

期日が最も遅いものかつ設定期間より現在が後のものが優先され、発動する仕組みとなっています。

各設定項目の詳細

ざっくり設定項目は下記の通りです。

13_003.png

なおこれらの情報はコントラクトに保存されます。

そのため、俗にいう「貫通」の心配もありません。 「貫通」とは、コントラクトを直接叩くと各種制限を無視して実行できてしまう事象のことを指します。Webサイトでは各種制限を効かせているが、コントラクトでは制限を効かせていないので、直接コントラクトを叩けばそれら制限を無視できる、といった事象です。 制限の例として挙げられるのはWhitelistのウォレットリストなどです。

また、Claim Conditionは後で変更することも可能です。何か設定を間違えたり変えたい場合に役立ちます。

よくある販売期間を設定した例

まず画像で見ていただいた方がわかりやすいので、

  • WhitelistMint (WL Mint)
  • PreMint
  • PublicMint

を設定したパラメータのスクリーンショットを紹介します。

13_002.png

このように、複数販売期間を設定できます。それぞれのConditionで日時やウォレットの状態に合わせて、いつ何枚うるか、という販売コンディションを設定できます。

次からは、それぞれのフェーズでClaim Conditionにどんな設定していったのかを見ていきましょう。

Whitelist Mintのやりかたについて説明します。

まずClaim Conditionsにアクセスし「Add Additional Claim Phase」を押下し、Claim Phaseを新たに作成します。この段階では反映されていません。

whitelistをアップロードする

「Who can claim NFTs during this phase?」という項目で「Only specific wallets」を選択します。

13_004.png

CSVをアップロードする枠がでてきます。ここにホワイトリストとして登録するwallet群をcsvにまとめてアップロードします。

13_005.png

アップロードするCSVのサンプルは用意されているので、ここからダウンロードします。

13_006.png

ウォレットごとに発行できるMINTの上限数を設定することができます。上限を設定したくない場合は、列ごと消去するか、あるいは0を入力すればOKです。

13_007.png

CSVアップロードするとこのような表示となります。

13_008.png

確認し間違っていた場合はResetすることも可能です。

ホワイトリストを設定したら、他のパラメータ等を設定していきます。

  • When will this phase start? ... いつからWhitelistMintが実行可能か
  • How many NFTs will you drop in this phase? ... この期間でトータル何枚までMINT可能
  • How much do you want to charge to claim each NFT? ... いくらでMINTするのか

whitelistを利用する場合の注意点

whitelistを利用する場合、他のパラメータの挙動が異なります。

How many NFTs can be claimed per transaction?

この設定項目が無視され、whitelistに設定したmaxClaimableが優先されます。 例えばこの欄に「2」と設定していて、whitelistでは「5」としていた場合、後者が適応される挙動となっています。

How many seconds do wallets have to wait in-between claiming?

こちらは自動的に「Unlimited」扱いとなります。 whitelistに記述されたwalletは、一回のみのトランザクションしか許可されません。

How many NFTs will you drop in this phase?

期間においてのNFT最大発行枚数です。こちらは文字通り変化ありません。 whitelistの数字がこの値をオーバーしていたとしても、この制約が最優先されます。

Premintの設定は、thirdwebに特段の設定項目はありません。 正確にいうと、特に特別な設定をする必要はありません。

一般に、Premintは特定の人しか知られないような形式のURLにて、知っている人のみでMINTするものとなります。

URLは一般に知らせない。けどコントラクト上は誰でもMINTできる、という形式となります。そうした場合、コントラクト上ではアドレスさえ知っていれば誰でもMINTできる、という設定となるのが普通となるため、thirdweb上で何か特殊な設定をする必要は特にありません。 (そのためDAOやコミュニティの運用を、工夫する必要があります。)

ただPremint期間のみの「上限枚数」の設定やその期間の価格を設定することが可能です。

一人当たりの発行枚数を限定したい。

これはthirdweb上ではできません。 一度のトランザクションでMINTできるNFT数は限定できるものの、複数のトランザクションにまたがるトータルの発行数を指定することはできません。

ただ「1回しかMINTできない」という条件であれば設定できます。

その場合は下記のように設定します。

13_009.png

これは

  • 1回しかMINTできない
  • その1回のMINTの上限を100枚とする

という意味をもちます。 ユーザーは一回のトランザクションで100枚未満だった場合はどうなるか、ですが、残りの枚数をMINTする権限を失うことになる、というのが答えです。

ただこの点は1つのClaim Conditions内、でありますので、次のPublicMint等のClaimConditionでそのウォレットに購入権利があれば、再度請求することはできます。

Premintでも限定したい

Premint期間と謳っているものの、ウォレットを限定したい場合は、前述のwhitelist Mintの手法を用いて実施するのが良いでしょう。

他の限定手法としては、Webサイト側にパスワード認証をかけるとか、Discord側参加者のみMintできるといった作りをすることはできます。

ですが、コントラクトを制限しない限り直接叩けてしまえば発行できてしまうので、俗にいう「貫通」が発生してしまいます。あまりこのやり方は本質的ではなく、費用対効果もあまりよくないです。自分の場合はコスパが良くないと思うので、見送ります。(なので方法も割愛します。)

PublicMint

PublicMintもPremint同様、thirdwebで特段特別な設定をする必要はありません。 論点としては「いつから販売するかの期間」「価格」あたりでしょうか。 この期間ですべてのNFTをMINTしきるか、どうかも論点に加えておくと良いと考えます。

13_010.png

販売停止期間

何某かの理由で一時的に販売停止期間を設定したい場合は、販売したいNFTの量を0にすることで設定できます。

13_011.png

「When will this phase start?」はローカルタイムゾーン

タイムゾーンを日本(Asia/Tokyo等)に設定している場合は日本時間となります。 PC/OS/ブラウザの設定を引き継ぐようですので確認しましょう。

テストネット上でデプロイして自分の設定を把握しておくと一番いいです。

whitelistを利用する場合はパラメータの挙動が変わる。

whitelistMINTの設定でも説明しましたが、こちらでも取り上げたいので再掲します。whitelistを利用する場合、下記のパラメータに注意してください。

How many NFTs can be claimed per transaction?

この設定項目が無視され、whitelistに設定したmaxClaimableが優先されます。 例えばこの欄に「2」と設定していて、whitelistでは「5」としていた場合、後者が適応される挙動となっています。

How many seconds do wallets have to wait in-between claiming?

こちらは自動的に「Unlimited」扱いとなります。 whitelistに記述されたwalletは、一回のみのトランザクションしか許可されません。

How many NFTs will you drop in this phase?

期間においてのNFT最大発行枚数です。こちらは文字通り変化ありません。 whitelistの数字がこの値をオーバーしていたとしても、この制約が最優先されます。

  • thirdwebはclaim conditionにて、「いつ」「誰に」「いくらで」「何回」NFTを発行できるのか?を設定できる。
  • 複数のclaim conditionを作ることで、さまざまな販売期間を設定できる。
  • whitelistを設定できる。
  • premintは特にコントラクト上で設定する必要はない。
  • public mintも同様。
  • whitelistの時はパラメータの挙動が微妙に変わるので注意

続きをみるには

残り 69字 / 1画像

¥100
picture
hanzochang - 半澤勇大
慶應義塾大学卒業AOI Pro.にてWebプランナーとして勤務。 ナショナルクライアントのキャンペーンサイトの企画・演出を担当。 その後開発会社に創業メンバーとして参加。 Fintech案件や大手企業のDXプロジェクトに関わり、その後個人事業主として独立。 2023年にWeb3に特化した開発会社として法人化。 2017年ごろより匿名アカウントでCryptoの調査等を行い、 ブロックチェーンメディアやSNSでビットコイン論文等の図解等を発信。
X (Twitter)

お問い合わせはこちらから

ご希望に応じて職務経歴書や過去のポートフォリオを提出可能ですので、必要な方はお申し付けください。
また内容とによっては返信ができない場合や、お時間をいただく場合がございます。あらかじめご了承ください。