thirdwebで作成したコントラクトに、My JSON Serverにホストしたメタデータを設定してみよう!
こんにちは、CryptoGamesの高橋です。
本日は、こちらの公式のブログを元に進めていきます。
また、あらかじめthirdwebの「NFT Drop」でコントラクトの作成を行っておいてください。
やり方が不明でしたら、こちらのハンズオンもご参照ください。
1.開発準備を行う
まずは、こちらのGithubからGit cloneを行います。
下のように、できました。

次に、フォルダを移動した上で、下のどちらかで、dotenvをインストールします。
npm i @thirdweb-dev/sdk dotenv # npm
yarn add @thirdweb-dev/sdk dotenv # yarn
下のようにできました。

2.メタデータを設定する
次に、metadataを確認しましょう。
下のように、「db.json」に入れて、Githubに登録することで、「My JSON Server」で取得ができるようになります。

3.「.env」ファイルを作成する
「.env」ファイルを作り、秘密鍵を入れます。

「.gitignore」ファイルに「.env」が入っていることを確認してください。

4.Githubに登録する
現在、下のように、.git/configのoriginにthirdwebが入っています。

自分のGithubに登録したいので、次のようにして、消していきます。
git remote rm origin

Githubで、下のように新しいレポジトリを作成します。

このようにできました。

では、次のコマンドで、Githubに登録していきます。
git init
git add .
git commit -m "initial commit"
git branch -M main
git remote add origin <YOUR_REPO_URL_HERE>
git push -u origin main
次のように、実行しました。

Githubにも、このように登録されました。

5.My JSON Serverを確認する
すると、下のURLを確認すると、My JSON Server上にホストされていることがわかります。
https://my-json-server.typicode.com/<your_username>/<your_repo_name>/nfts/0
下のようになっています。

6.スクリプトを実行する
では、あらかじめ作成しておいた、コントラクトのアドレスをコピーします。

下のように、getContract内にアドレスを設定します。

ここで、createBatch関数も見てみましょう。
下のように、メタデータを設定しています。

これで、完了です。
では、下のコマンドでスクリプトを実行してみましょう。
node scripts/upload-nfts.mjs

これで、下のように、メタデータが反映されました。

今回は以上です。
ぜひやってみてください。
Discussion