9-Thumbnail_Image.png

thirdweb BatchUploadの使い方 - CSVでmetadataとファイルをまとめてIPFSにアップロード

thirdwebにはBatchUploadと呼ばれるIPFSにmetadataと画像をまとめてアップロードしてくれる便利な機能があります。少しだけクセがあるので、この記事は捜査方法を解説しています。
公開日2022.06.11
更新日2022.11.03
💡 はじめに:thirdwebの使い方ゼロから知りたい方は
このページはBatchuploadの解説です。コントラクトの作り方〜サイトの作り方を、ゼロから知りたい方は 下記の記事がおすすめです。
thirdwebの使い方 - 独自コントラクトの作成と「NFTのMINTサイト」の作り方を紹介
https://hanzochang.com/articles/10

Batch Uploadとは

thirdwebには BatchUpload という機能があります。
csvでmetadataをアップロードすることができる大変便利な機能です。アップロード先はもちろんIPFS。 thirdwebがコントラクトの作成だけでなく、metadataのIPFSへのアップロードも代わりにやってくれます。
なんと、metadataに含んだ画像もIPFSにまとめてアップロードしてくれます。
ただし、画像のアップロードにはコツがあるので、その点は本記事にて紹介していきます。 バッチアップロードに必要なテンプレートも用意しましたので、よろしければご利用ください。

対応するコントラクト

batch uploadに対応するthirdwebのコントラクトはNFTDropSignatureDropEditionDropの3つです。
9_a_01.png
「NFTDrop」と「EditionDrop」は、オーナー以外のウォレットが「MINT」できるという特徴をもちます。
「NFTDrop」「SignatureDrop」はERC721のトークンで、「EditionDrop」はERC1155 のトークンとなります。
💡 余談 対応していない「NFT Collection」と「Edition」について
似たようなコントラクトに「NFT Collection」と「Edition」があります。 コントラクトオーナーだけがMINTできるコントラクトで、MINT後のデータはオーナー所有になります。 すぐにマーケットプレイスで流通させることを想定したコントラクトだと想定されます。
「BatchUpload」機能があってもよさそうなのですが、なぜかありません。

BatchUpload利用方法

「NFTDrop」「SignatureDrop」「EditionDrop」のどれかを選びます。
9_a_01.png
下記のDeployボタンでデプロイボタンを押し、
9_a_02.png
各種設定を書き込んでデプロイします。
9_a_03.png
Batchuploadを押下します。
9_a_04.png
ファイルドロップ画面が現れます。
9_04.png
ここに、csvと画像を含んだフォルダをドラッグアンドドロップすることで、アップロードできます。
9_05.png

アップロードフォルダのサンプル

フォルダの中身には「画像群」と「metadataを記述したcsv」を含めています。 サンプルはこちらに用意していますので、実際のファイルでご確認ください。
ダウンロードボタンを押下すると、フォルダごとダウンロードできます。
9_06.png

CSV記述のポイント

CSVの記述方法がポイントです。相対的に参照できるように各画像の冒頭に「./」と記述します。 これによりCSVが画像を相対的に読み取って、thirdwebが画像をIPFSにアップロードしてくれます。
9_07.png
画像を絶対URLにすると画像はipfsにアップロードされないので注意です。インターネット上のURLを読み取って、ipfsにアップロードし直す、といったことはやってくれません。
9_08.png

CSVの記述の制約

  • CSVに含めるパラメータで必須なのは「name」のみとなります。
  • 「description」は任意です。
  • ファイルのアップロードに対応するのは「image」と「animation_url」のみです。
  • 「tokenId」は順番に採番されるのでコントロール不可能です。
  • これ以外のパラメータを付与することが可能です。アップロード後、「Properties」にkey:valueとして格納されます。

CSVのテンプレート

連番を組みやすくするため「seq」と呼ばれるカラムを追加していますが、出力の際適宜消去して利用してください。

注意点

IPFSの永続性

thirdwebのIPFSがどのように永続性を担保しているのか確認をとっていないので、その点DYORの上、ご利用ください。

thirdwebのtokenURIについて

今回のbatchuploadに直接関係はありませんが thirdwebでは、NFTのコントラクトで見られるような「_baseURI」がありません。トークンひとつひとつが共通するipfsのアドレスを持つ構造にはなっていません。トークン番号に対して、1つのURIが一対をなす構造となっています。
picture
hanzochang
代表取締役 半澤勇大
慶應義塾大学卒業後、AOI Pro.にてWebプランナーとして勤務。ナショナルクライアントのキャンペーンサイトの企画・演出を担当。その後開発会社に創業メンバーとして参加。Fintech案件や大手企業のDXプロジェクトに関わり、その後個人事業主として独立。2023年にWeb3に特化した開発会社として法人化。

2017年ごろより匿名アカウントでCryptoの調査等を行い、ブロックチェーンメディアやSNSでビットコイン論文等の図解等を発信。
hanzochangはフリーランスのエンジニアです
スキルセットや特徴は下記よりご確認いただけます
fixed
© 2023 hanzochang