書いた人
書いた人
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のコントラクトは
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のテンプレートもこちらに用意しました
。
連番を組みやすくするため「seq」と呼ばれるカラムを追加していますが、出力の際適宜消去して利用してください。
注意点
IPFSの永続性
thirdwebのIPFSがどのように永続性を担保しているのか確認をとっていないので、その点DYORの上、ご利用ください。
thirdwebのtokenURIについて
今回のbatchuploadに直接関係はありませんが thirdwebでは、NFTのコントラクトで見られるような「_baseURI」がありません。トークンひとつひとつが共通するipfsのアドレスを持つ構造にはなっていません。トークン番号に対して、1つのURIが一対をなす構造となっています。
hanzochang
代表取締役 半澤勇大
慶應義塾大学卒業後、AOI Pro.にてWebプランナーとして勤務。
ナショナルクライアントのキャンペーンサイトの企画・演出を担当。
その後開発会社に創業メンバーとして参加。
Fintech案件や大手企業のDXプロジェクトに関わり、その後個人事業主として独立。
2023年にWeb3に特化した開発会社として法人化。
2017年ごろより匿名アカウントでCryptoの調査等を行い、
ブロックチェーンメディアやSNSでビットコイン論文等の図解等を発信。
hanzochangはフリーランスのエンジニアです
スキルセットや特徴は下記よりご確認いただけます
書いた人について
© 2023 hanzochang