本文へ移動
hanzochang

技術と実践のノート

[TIPS] thirdwebのMINT時priceを表示する - thirdwebのフロントエンド実装

公開

著者:株式会社hanzochang

thirdwebのフロントエンド実装についての記事です。ReactでのNFTDropのMINTの価格の実装方法がわかります。

thirdwebのfront実装の小ネタ

thirdwebでNFTDropを使ったフロントエンド実装時に、 ユーザーにMINTする時のETHの価格を表示する方法は下記の通り。

typescript
import { useNFTDrop } from '@thirdweb-dev/react'
import { ethers } from 'ethers'
import { useEffect, useState } from 'react'

const Component: React.FC = () => {
  const nftDrop = useNFTDrop('<Your NFTDrop Address>')
  const [mintPrice, setMintPrice] = useState<string>('')

  useEffect(() => {
    nftDrop?.claimConditions.getActive().then((activeClaimCondition) => {
      setMintPrice(ethers.utils.formatUnits(activeClaimCondition.price._hex))
    })
  }, [])

  return <>{mintPrice}ETH</>
}

typescript
import { useNFTDrop } from '@thirdweb-dev/react'
import { ethers } from 'ethers'
import { useEffect, useState } from 'react'

const Component: React.FC = () => {
  const nftDrop = useNFTDrop('<Your NFTDrop Address>')
  const [mintPrice, setMintPrice] = useState<string>('')

  useEffect(() => {
    nftDrop?.claimConditions.getActive().then((activeClaimCondition) => {
      setMintPrice(ethers.utils.formatUnits(activeClaimCondition.price._hex))
    })
  }, [])

  return <>{mintPrice}ETH</>
}

目次

解説

claim phase

NFTDropで作成したClaimPhasesで設定した、MINT条件を指す。

nftDrop?.claimConditions.getActive()

https://portal.thirdweb.com/typescript/sdk.dropclaimconditions.getactive

Metamaskを起動している自分のウォレットに対して、現在有効なclaimableな条件を取得する

ethers.utils.formatUnits(activeClaimCondition.price._hex)

_hexのパラメータはそのままだと人間には読めない文字列なので、 ethersのformatUnitsを利用して、ETH単位に変換する。

ethers Display Logic and Input https://docs.ethers.io/v5/api/utils/display-logic/#unit-conversion (ethersはethereumのjsライブラリ。thirdwebSDK利用には必須なため、インストールしているはず。)

この記事を書いた人

Webプランナー、開発会社の創業メンバーを経て、Fintech・DX・Web3の企画・開発に従事。2021年に独立し、2023年に株式会社hanzochangを設立。現在はAIを活用した業務改善と、自社サービス「指定管理者制度AI」の開発・運用に取り組んでいます。

半澤勇大のXアカウント(新しいタブで開く)

この記事の株式会社hanzochangについて
少し紹介させてください!

この記事に関連する当社のサービス

Web3アプリ開発受託サービス

ウォレット連携やNFTを、使いやすいアプリに。

Solanaなどのブロックチェーンを使ったアプリを、企画・検証から開発・運用まで支援します。ウォレット連携やコントラクトだけでなく、利用者が操作する画面までまとめて設計します。

サービスの詳細を見る
Jくんが接続されたアプリを組み立て、鉛筆で原稿を作るイラスト。Web3サービス開発とコンテンツ作成を表す。
  • 企画・技術検証

    事業の目的に合わせ、必要な機能と技術を検討。

  • アプリ・連携開発

    ウォレットやコントラクトと画面を一体で開発。

  • 公開・運用支援

    公開後の保守や機能改善まで継続して対応。

Web3アプリの開発について、お気軽にご相談ください。