
thirdwebのBatchUpload利用方法
thirdwebにはBatchUploadと呼ばれるIPFSにmetadataと画像をまとめてアップロードしてくれる便利な機能があります。少しだけクセがあるので、この記事は捜査方法を解説しています。
公開日2022.06.12
更新日2022.11.03
はじめに:thirdwebの使い方ゼロから知りたい方は
💡 はじめに:thirdwebの使い方ゼロから知りたい方は
このページはBatchuploadの解説です。コントラクトの作り方〜サイトの作り方を、ゼロから知りたい方は 下記の記事がおすすめです。
thirdwebの使い方 - 独自コントラクトの作成と「NFTのMINTサイト」の作り方を紹介 https://hanzochang.com/articles/10
Batch Uploadとは
thirdwebには BatchUpload という機能があります。
thirdwebcsvでmetadataをアップロードすることができる大変便利な機能です。アップロード先はもちろんIPFS。 thirdwebがコントラクトの作成だけでなく、metadataのIPFSへのアップロードも代わりにやってくれます。
なんと、metadataに含んだ画像もIPFSにまとめてアップロードしてくれます。
ただし、画像のアップロードにはコツがあるので、その点は本記事にて紹介していきます。 バッチアップロードに必要なテンプレートも用意しましたので、よろしければご利用ください。
対応するコントラクト
batch uploadに対応するthirdwebのコントラクトはNFTDropとSignatureDropとEditionDropの3つです。
「NFTDrop」と「EditionDrop」は、オーナー以外のウォレットが「MINT」できるという特徴をもちます。
「NFTDrop」「SignatureDrop」はERC721のトークンで、「EditionDrop」はERC1155 のトークンとなります。
💡 余談 対応していない「NFT Collection」と「Edition」について
似たようなコントラクトに「NFT Collection」と「Edition」があります。 コントラクトオーナーだけがMINTできるコントラクトで、MINT後のデータはオーナー所有になります。 すぐにマーケットプレイスで流通させることを想定したコントラクトだと想定されます。
「BatchUpload」機能があってもよさそうなのですが、なぜかありません。
BatchUpload利用方法
「NFTDrop」「SignatureDrop」「EditionDrop」のどれかを選びます。
下記のDeployボタンでデプロイボタンを押し、
各種設定を書き込んでデプロイします。
Batchuploadを押下します。
ファイルドロップ画面が現れます。
ここに、csvと画像を含んだフォルダをドラッグアンドドロップすることで、アップロードできます。
アップロードフォルダのサンプル
フォルダの中身には「画像群」と「metadataを記述したcsv」を含めています。 サンプルはこちらに用意していますので、実際のファイルでご確認ください。
サンプルはこちらに用意していますダウンロードボタンを押下すると、フォルダごとダウンロードできます。
CSV記述のポイント
CSVの記述方法がポイントです。相対的に参照できるように各画像の冒頭に「./」と記述します。 これによりCSVが画像を相対的に読み取って、thirdwebが画像をIPFSにアップロードしてくれます。
画像を絶対URLにすると画像はipfsにアップロードされないので注意です。インターネット上のURLを読み取って、ipfsにアップロードし直す、といったことはやってくれません。
CSVの記述の制約
- CSVに含めるパラメータで必須なのは「name」のみとなります。
- 「description」は任意です。
- ファイルのアップロードに対応するのは「image」と「animation_url」のみです。
- 「tokenId」は順番に採番されるのでコントロール不可能です。
- これ以外のパラメータを付与することが可能です。アップロード後、「Properties」にkey:valueとして格納されます。
CSVのテンプレート
なおCSVのテンプレートもこちらに用意しました。
なおCSVのテンプレートもこちらに用意しました連番を組みやすくするため「seq」と呼ばれるカラムを追加していますが、出力の際適宜消去して利用してください。
注意点
IPFSの永続性
thirdwebのIPFSがどのように永続性を担保しているのか確認をとっていないので、その点DYORの上、ご利用ください。
thirdwebのtokenURIについて
今回のbatchuploadに直接関係はありませんが thirdwebでは、NFTのコントラクトで見られるような「_baseURI」がありません。トークンひとつひとつが共通するipfsのアドレスを持つ構造にはなっていません。トークン番号に対して、1つのURIが一対をなす構造となっています。
お問い合わせはこちらから
ご希望に応じて職務経歴書や過去のポートフォリオを提出可能ですので、必要な方はお申し付けください。
また内容とによっては返信ができない場合や、お時間をいただく場合がございます。あらかじめご了承ください。