ethereum - 用户界面 Dapps 中的小数
问题描述
在 ERC20 代币上发送交易时,十进制变量设置为 18,您必须将值乘以 10^18。我不想让 dapp 的用户将他们的价值乘以这个数量。这对用户非常不友好。你如何解决这个问题?任何帮助表示赞赏!
解决方案
您的代码可以为它们成倍增加。只需将输入值乘以 10^18。
<input type="text" name="to" value="0x123">
<input type="number" name="amount" value="5">
const inputMock = {
to: '0x123',
value: 5
};
const myContract = new web3.eth.Contract(abiJson, contractAddress);
const txData = myContract.methods.transfer(
inputMock.to,
web3.utils.toWei(inputMock.value) // multiplies by 10^18 and returns the number as a string
);
文档:https ://web3js.readthedocs.io/en/v1.3.4/web3-utils.html#towei
推荐阅读
- excel - 在 Excel 中:如何计算特定关键字出现在长字符串注释列表中的次数?
- php - 从 Laravel 中的另一个表中按 ID 过滤的 Json 响应
- r - 将现有列拆分为多个新列
- php - 如何将 wordpress 变成虚拟主机?
- c# - 如何禁用 EventSource 事件的堆栈?
- javascript - 在尝试将表单数据下载为纯文本时,我希望将数组数据转换为字符串并显示在文本文件中
- python - Debian 模块中的 PyQt5 依赖项
- python - Pandas DataFrame - 行到列的字典
- android - AccessibilityNodeInfo.ACTION_CLICK 不执行点击
- c - 训练单节课时没有物体检测