11-Thumbnail_Image.png

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

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

thirdwebのfront実装の小ネタ

thirdwebでNFTDropを使ったフロントエンド実装時に、 ユーザーにMINTする時のETHの価格を表示する方法は下記の通り。
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条件を指す。
11_01 (1).png

nftDrop?.claimConditions.getActive()

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

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

_hexのパラメータはそのままだと人間には読めない文字列なので、 ethersのformatUnitsを利用して、ETH単位に変換する。
(ethersはethereumのjsライブラリ。 thirdwebSDK利用には必須なため、インストールしているはず。)
picture
hanzochang
代表取締役 半澤勇大
慶應義塾大学卒業後、AOI Pro.にてWebプランナーとして勤務。ナショナルクライアントのキャンペーンサイトの企画・演出を担当。その後開発会社に創業メンバーとして参加。Fintech案件や大手企業のDXプロジェクトに関わり、その後個人事業主として独立。2023年にWeb3に特化した開発会社として法人化。

2017年ごろより匿名アカウントでCryptoの調査等を行い、ブロックチェーンメディアやSNSでビットコイン論文等の図解等を発信。
hanzochangはフリーランスのエンジニアです
スキルセットや特徴は下記よりご確認いただけます
fixed
© 2023 hanzochang