繁体   English   中英

ERC20 合约无法转移大额代币

[英]ERC20 contract not able to transfer large tokens

我正在构建一个 ERC20 代币。 我已经正确使用了小数。 因此,我将 10^21 个令牌转移到 function 以转移我的令牌。

Minted tokens: 1000000 * (10**decimals) # decimals = 18

所以我应该可以转移这个金额?

我制作了一个 UI 并使用了 web3.js,我得到了这个错误。

Unhandled Rejection (Error): 
invalid number value (arg="_price", coderType="uint256", value="1e+21")

然后我也在 Remix 中尝试了相同的值。 那里的交易也失败了。 如果我想转移 10*20 令牌等数字,执行失败。 然后交易也失败了。

谢谢您的帮助。

使用此解决它: https://github.com/ethereum/web3.js/issues/2077#issuecomment-468530879

          const dec = window.web3.utils.toBN(this.props.decimals)
          const price_ =  window.web3.utils.toBN(this.Object.value*(100))
          const price ="0x"+ price_.mul(window.web3.utils.toBN(10).pow(dec)).toString("hex")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM