如何在 solana Web3 中获取 Token 计数

Posted

技术标签:

【中文标题】如何在 solana Web3 中获取 Token 计数【英文标题】:How to grab the Token count in solana Web3 【发布时间】:2021-12-02 11:33:16 【问题描述】:

嘿,我想获取代币数量,我该怎么做 I have reached this point but want to hold just the value

一直用到这里 console.log("Signature: ",hash.meta.postTokenBalances);

【问题讨论】:

【参考方案1】:

这取决于你需要什么。我们以 SOL 为例,它是 9 位小数,这样1 SOL = 1_000_000_000 lamports

amount 是灯的总量,所以在你的例子中是90_000_000_000 uiAmountString 是 SOL 的格式化数量,因此在您的示例中为 90.000000000

如果您需要进行计算,您应该按住amount 进行数学运算,并按住decimals 显示它。如果只需要显示,那么uiAmountString会最简单。

【讨论】:

是的,这不是问题。我的查询是当我尝试显示 uiAmountString 时出现错误:UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'uiTokenAmount' of undefined。我做了以下代码 console.log('Pre Token Balance: ',hash1.meta.postTokenBalances.uiTokenAmount.uiAmountString); postTokenBalances 是一个数组,所以你需要做hash1.meta.postTokenBalances[0].uiTokenAmount.uiAmountString。更多信息docs.solana.com/developing/clients/jsonrpc-api#results-68

以上是关于如何在 solana Web3 中获取 Token 计数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Solana(客户端,JS)中获取对以前创建的 Token 的引用

如何在 SOLANA 上使用 web3 js 从令牌地址获取元数据

如何获取在与@solana/web3.js 的交易中转移的自定义令牌数量?

使用 @solana/web3.js 将元数据添加到 Solana 令牌

如何使用 web3js solana 工具关闭关联的令牌帐户

尝试发送 USDC 时无法获取钱包签名者 @solana-labs/web3.js