ERC20合约无法转让大额代币。

问题描述 投票:1回答:1

我正在建立一个ERC20代币。我已经正确使用了小数。所以,我正在将10^21个代币转移到一个函数中来转移我的代币。

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 token,那么交易也失败了。

谢谢你的帮助。

ethereum solidity smartcontracts web3
1个回答
1
投票

用这个解决了。https:/github.comethereumweb3.jsissues2077#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")
© www.soinside.com 2019 - 2024. All rights reserved.