我尝试到处寻找,但似乎得到了相反的答案,我的交易额约为 180 亿美元,哈哈,我的商品以美元定价,所以我只需要发送正确的 wei,我猜
value: web3.utils.toWei(usdAmount, 'ether'),
我尝试过类似的辅助方法
const weiPerEth = 10 ** 18; // 1 ETH = 10^18 wei
const amountInEth = usdAmount / ethToUsdExchangeRate;
const amountInWei = amountInEth * weiPerEth;
return amountInWei;
}
但是我做错了什么 提前感谢您提出一个愚蠢的问题。
假设
ethToUsdExchangeRate
是 JavaScript 中的 Number
类型,保存 1 ETH 美元的当前价格(包括小数)(例如 $1234.56 存储为 1234.56
):
const ethToUsdExchangeRate = 1234.56;
const usdAmount = 10;
const oneUsdInWei = (10**18) / ethToUsdExchangeRate;
const usdAmountInWei = oneUsdInWei * usdAmount;
// returns 8100051840331779 wei (or ~0.008 ETH)
console.log(usdAmountInWei);