thirdweb での mint
thirdweb のダッシュボード (ノーコード) または SDK を使って Chiliz Chain 上で NFT を mint。IPFS アップロード、監査済みコントラクト、ワンクリックのコレクション deploy を標準搭載。
thirdweb は、複数のブロックチェーンネットワーク上で分散型アプリケーションを構築するためのツールとインフラを提供するプラットフォームです。SDK、API、構築済みコンポーネントによってブロックチェーン連携をシンプルにします。
NFT の mint に関して、thirdweb は監査済みコントラクトと充実した SDK に加え、洗練されたダッシュボードと IPFS アップロードを提供します。
単一の NFT を手動で mint する
画像を 1 枚アップロードして mint したいだけであれば、thirdweb はクリックで deploy できるインターフェースを提供しています。
まず、自分の Web3 ウォレットを所有者として thirdweb アカウントを作成します。これにより thirdweb ダッシュボードにアクセスできるようになります。
そこから、2 つの方法を選べます。
thirdweb の TokenERC721 ページと、その「Deploy Now」ボタンを使う。
または、ダッシュボードの「Create Token」インターフェースを使う。
このページでは、それぞれを手短に見ていきましょう。 さらに情報が必要な場合は、thirdweb Developer Portal を参照してください。
TokenERC721 ページを使う
TokenERC721 ページにアクセスします。これは NFT コレクションを作成するための thirdweb のコントラクトを利用します。
「Deploy Now」をクリックして、コントラクトの deploy ページにアクセスします。

「Contract metadata」セクションを入力します。
NFT コレクションを表す画像 (または単に mint したい画像) をアップロードします。
コレクションに固有の名前とシンボル/ティッカーを付けます。
説明を付けます。
thirdweb は「Primary Sales」と「Royalties」の受取アドレスを自動的に入力します。これらの Web3 アドレスが本当に自分のウォレットのものであることを必ず確認してください。
「Deploy Options」で Chiliz Chain (テストの場合は Chiliz Spicy Testnet) を選び、「Deploy Now」をクリックします。

thirdweb がコントラクトの deploy を開始し、Web3 ウォレットの確認モーダルが表示されます。これを承認して deploy を完了します。

完了したら「View Contract」ボタンをクリックします。チェックリスト/進捗バーが表示された、thirdweb ダッシュボード上のコントラクトページに移動します。

チェックリストからわかるように、ここまででやったのはコントラクトの deploy だけで、実際に NFT を mint する作業はまだ残っています。左カラムの「NFTs」メニュー項目をクリックして新しいページを開くと、現時点では空です。

「Mint」ボタンをクリックすると、NFT の各属性を入力するフィールドを備えたサイドパネルが開きます。ここで NFT の metadata を作成します。

各種フィールドを入力します。「Artist_name」や「Type_of_work」のように NFT コレクション固有のフィールドを作成したり、高度なオプションを探索したりできますが、このテストでは name、media file、description という最小限にとどめてかまいません。
サイドパネル下部の「Mint NFT」ボタンをクリックし、ウォレットからトランザクションを承認します。

すると thirdweb は「NFTs」ページを表示し、あなたの NFT が NFT コントラクトに紐づいて表示されるようになります。
完了です! NFT を mint できました!
本当に Chiliz Chain 上にあるか確認するには、Chiliscan (Spicy Testnet を使っている場合は そのテストネット版) を開き、NFT のハッシュを検索フィールドにコピー&ペーストします。コントラクトがチェーン上にあることがすぐに確認でき、「Inventory」タブにはあなた (または少なくともあなたのウォレット ID) を所有者とする NFT が一覧表示されるはずです。

NFT を Chiliz Chain Mainnet で mint した場合、Rarible や OKX などのマーケットプレイスのアカウントに表示されるはずです。そこから販売を始められます!
「Create Token」ボタンを使う
これは実のところ上の方法よりも簡単で、thirdweb に最近追加されたものです。
thirdweb ダッシュボードの任意のプロジェクトフォルダから、左サイドバーの「Tokens」オプションをクリックします。

開いた「Tokens」ページで、右側の「Create Token」ボタンをクリックします。2 つのオプションを備えたモーダルウィンドウが開くので、「Create NFT Collection」を選びます。

これにより、TokenERC721 の deploy ページのステップバイステップ版に移動します (実際には ERC-721 Drop コントラクトを deploy します)。このコントラクトに必要なすべてのフィールドを入力し、「Next」ボタンを押します。
次の画面は NFT そのものについてです。画像をアップロードし、その画像を説明するフィールドを入力して、「Next」ボタンを押します。
thirdweb は、これからローンチしようとしている NFT コレクションのサマリーを表示します。すべて正しいことを確認し、「Launch NFT Collection」ボタンをクリックします。
thirdweb がコントラクトの deploy、NFT の mint、条件の設定を一括で行います。Web3 ウォレットを通じて 3 つのトランザクションを承認する必要があります。

完了したら「View NFT」ボタンをクリックすると、thirdweb ダッシュボードに戻り、このコントラクト固有のページ (および紐づく NFT) が表示されます。
そこから、ブロックエクスプローラーを通じて本当にチェーン上にあるか確認したり、マーケットプレイスを通じて NFT の販売を始めたりできます。
単一の NFT をプログラムで mint する
ここでは thirdweb v5 SDK を使ったコードサンプルを示します。これはメディアファイルを IPFS にアップロードし、metadata.json ファイルを生成して、それも IPFS にアップロードします。
これには以下が必要です。
Chiliz Chain 上に deploy 済みの ERC-721 コントラクト。この場合は他のツールではなく thirdweb を使って行うべきです。
thirdweb 経由で deploy した ERC-721 コントラクトに紐づく thirdweb API key。smart contract のプロジェクトページの「Client ID」という名前で見つけられます。
ローカルにインストールされた thirdweb SDK。
npmを使ってインストールできます。
dotenv パラメーターは .env ファイルを生成します。これは秘密の値を保存するために必要です。
PRIVATE_KEY や THIRDWEB_SECRET_KEY をクライアントサイドのコードに絶対に露出させないでください!
このファイルは安全なサーバー/CI 上に保管し、公開リポジトリにアップロードしないでください。
これですべての準備が整ったので、以下のスクリプトを参考にできます。これは次のことを行います。
メディアファイルを IPFS にアップロードする
metadata.jsonファイルを構築してアップロードするコントラクトの mintTo メソッドを使って NFT を mint する。
結果として得られる
tokenIdとtokenUrlを表示する。
これはあくまでサンプルコードです。自分のプロジェクトのコードに合わせて調整する必要があります!
参考にすべき重要なポイントは次のとおりです。
uploadはファイル (および JSON) を IPFS に保存し、ipfs://…URI を返します。mintToはtokenURIとして直接使う文字列を受け取ります。標準的な ERC-721 の
Transferイベントをパースして、mint されたtokenIdを読み取ります。
NFT のコレクションをプログラムで mint する
NFT のコレクションを mint することは、単一の NFT を mint することとそれほど変わりません。最も顕著な違いは、.env ファイルが IMAGE_PATH で単一の画像を指すのではなく、IMAGE_DIR ですべての画像を含むフォルダを指すことです。
そのため、ここで示すサンプルコードはこれを考慮に入れています。
詳細な変更点は次のとおりです。
IMAGES_DIRがIMAGE_PATHを置き換えます。複数の入力を集めるために
listMediaFilesを追加しました。画像用と metadata 用に
uploadをバッチ化しました (順序は保持されます)。各
metadataUriをmintToするループを回し、それぞれのTransferイベントをパースしてtokenIdを取得します。名前は既存の
NAME/DESCRIPTIONを使って自動的に番号付けされます:NAME #1、NAME #2、…。
繰り返しになりますが、これは自分のコードの参考としてご利用ください。そのまま使わないでください!
注意: lazy minting を行いたい場合、thirdweb の ERC-721 コントラクトには lazyMint メソッド があります。
最終更新
役に立ちましたか?