hanzochang
hanzochang
はじめに:thirdwebの使い方ゼロから知りたい方は
Batch Uploadとは
対応するコントラクト
💡 余談 対応していない「NFT Collection」と「Edition」について
BatchUpload利用方法
アップロードフォルダのサンプル
CSV記述のポイント
CSVの記述の制約
CSVのテンプレート
注意点
IPFSの永続性
thirdwebのtokenURIについて
https://s3.ap-northeast-1.amazonaws.com/hanzochang.com/_v2/article-ogp-009.png

thirdwebのBatchUpload利用方法

thirdwebにはBatchUploadと呼ばれるIPFSにmetadataと画像をまとめてアップロードしてくれる便利な機能があります。少しだけクセがあるので、この記事は捜査方法を解説しています。

公開日2022.06.12

更新日2022.11.03

はじめに:thirdwebの使い方ゼロから知りたい方は

💡 はじめに:thirdwebの使い方ゼロから知りたい方は

このページはBatchuploadの解説です。コントラクトの作り方〜サイトの作り方を、ゼロから知りたい方は 下記の記事がおすすめです。

thirdwebの使い方 - 独自コントラクトの作成と「NFTのMINTサイト」の作り方を紹介 https://hanzochang.com/articles/10

https://hanzochang.com/articles/10

Batch Uploadとは

thirdwebには BatchUpload という機能があります。

thirdwebcsvでmetadataをアップロードすることができる大変便利な機能です。アップロード先はもちろんIPFS。 thirdwebがコントラクトの作成だけでなく、metadataのIPFSへのアップロードも代わりにやってくれます。

なんと、metadataに含んだ画像もIPFSにまとめてアップロードしてくれます。

ただし、画像のアップロードにはコツがあるので、その点は本記事にて紹介していきます。 バッチアップロードに必要なテンプレートも用意しましたので、よろしければご利用ください。

対応するコントラクト

batch uploadに対応するthirdwebのコントラクトはNFTDropとSignatureDropとEditionDropの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のテンプレート

なおCSVのテンプレートもこちらに用意しました。

なお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でビットコイン論文等の図解等を発信。
X (Twitter)

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

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