
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を発行できるのか?を設定することができます。
この設定は複数登録することができます。
これにより、Whitelistのみの期間、Premintの期間、PublicMintの期間、といった運用を行うことができます。
期日が最も遅いものかつ設定期間より現在が後のものが優先され、発動する仕組みとなっています。
各設定項目の詳細
ざっくり設定項目は下記の通りです。
なおこれらの情報はコントラクトに保存されます。
そのため、俗にいう「貫通」の心配もありません。 「貫通」とは、コントラクトを直接叩くと各種制限を無視して実行できてしまう事象のことを指します。Webサイトでは各種制限を効かせているが、コントラクトでは制限を効かせていないので、直接コントラクトを叩けばそれら制限を無視できる、といった事象です。 制限の例として挙げられるのはWhitelistのウォレットリストなどです。
また、Claim Conditionは後で変更することも可能です。何か設定を間違えたり変えたい場合に役立ちます。
よくある販売期間を設定した例
まず画像で見ていただいた方がわかりやすいので、
- WhitelistMint (WL Mint)
- PreMint
- PublicMint
を設定したパラメータのスクリーンショットを紹介します。
このように、複数販売期間を設定できます。それぞれのConditionで日時やウォレットの状態に合わせて、いつ何枚うるか、という販売コンディションを設定できます。
次からは、それぞれのフェーズでClaim Conditionにどんな設定していったのかを見ていきましょう。
Whitelist Mintのやりかたについて説明します。
まずClaim Conditionsにアクセスし「Add Additional Claim Phase」を押下し、Claim Phaseを新たに作成します。この段階では反映されていません。
whitelistをアップロードする
「Who can claim NFTs during this phase?」という項目で「Only specific wallets」を選択します。
CSVをアップロードする枠がでてきます。ここにホワイトリストとして登録するwallet群をcsvにまとめてアップロードします。
アップロードするCSVのサンプルは用意されているので、ここからダウンロードします。
ウォレットごとに発行できるMINTの上限数を設定することができます。上限を設定したくない場合は、列ごと消去するか、あるいは0を入力すればOKです。
CSVアップロードするとこのような表示となります。
確認し間違っていた場合は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できない」という条件であれば設定できます。
その場合は下記のように設定します。
これは
- 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しきるか、どうかも論点に加えておくと良いと考えます。
販売停止期間
何某かの理由で一時的に販売停止期間を設定したい場合は、販売したいNFTの量を0にすることで設定できます。
「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画像
お問い合わせはこちらから
ご希望に応じて職務経歴書や過去のポートフォリオを提出可能ですので、必要な方はお申し付けください。
また内容とによっては返信ができない場合や、お時間をいただく場合がございます。あらかじめご了承ください。