codecamp

Moralis Units

介绍

所有加密交易均以最小值 - Wei 进行。 但为了改善用户体验,在前端通常以 ETH 格式输入转账金额。 用户希望输入值 ​0.0001 TokenA​ 而不是 ​100000000000000 Wei TokenA​。 标准的 web3 方法不方便转换。 最方便的转换方法是使用 ​Moralis.Units​ 辅助函数。

Wei 是以太的最小面额,你应该始终以 Wei 进行计算,并且仅出于显示原因进行转换。

将 ERC20 代币转换为 Wei

要将 ERC20 代币转换为 Wei,您需要指定代币数量和小数位数。

//Example: We want to convert 0.5 BUSD. It has 18 decimals
const busdInWei = Moralis.Units.Token("0.5", "18")
// expected output: 500000000000000000 Wei

代币的小数位数通常可以在 Etherscan、项目网站或 Moralis API 上找到。

将原生资产(ETH/BNB/MATIC 等)转换为 Wei

要将原生资产转换为 Wei,您需要指定原生加密货币的数量。

//Example: We want to convert 0.5 ETH to Wei
const ethInWei = Moralis.Units.ETH("0.5")
// expected output: 500000000000000000 Wei

从 Wei 转换代币值

所有代币值均以 Wei 显示。 如果要以“Eth”样式显示令牌值,可以使用:

//Convert token value to ETH style with 6 decimals
const tokenValue = Moralis.Units.FromWei("2000000000000000000", 6)

//Convert token value to ETH style with 18 decimals
//If you do not specify decimals, 18 decimals will be automatically used
const tokenValue = Moralis.Units.FromWei("2000000000000000000")

请注意,此功能在云代码中尚不可用。 您只能在 SDK 中使用它。 我们很快就会将其添加到云代码中。

代币余额的 Web3 API 响应在 Wei 字段中有小数和余额:

  { 
    "token_address": "0x...b0",
    "name": "name",
    "symbol": "NAME",
    "logo": null,
    "thumbnail": null,
    "decimals": "18", 
    "balance": "2000000000000000000"
  },

Wei 是以太的最小面额,你应该始终以 Wei 进行计算,并且仅出于显示原因进行转换。


Moralis IPFS
Moralis CLI
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Moralis 文件

Moralis 工具

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }