thirdwebのfront実装の小ネタ
解説
claim phase
nftDrop?.claimConditions.getActive()
ethers.utils.formatUnits(activeClaimCondition.price.\_hex)

[TIPS] thirdwebのMINT時priceを表示する - thirdwebのフロントエンド実装
thirdwebのフロントエンド実装についての記事です。ReactでのNFTDropのMINTの価格の実装方法がわかります。
公開日2022.06.14
更新日2022.06.14
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条件を指す。
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利用には必須なため、インストールしているはず。)
お問い合わせはこちらから
ご希望に応じて職務経歴書や過去のポートフォリオを提出可能ですので、必要な方はお申し付けください。
また内容とによっては返信ができない場合や、お時間をいただく場合がございます。あらかじめご了承ください。