ERC20 合约无法转移大额代币
ERC20 contract not able to transfer large tokens
我正在构建一个 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 令牌。那么交易也失败了。
感谢您的帮助。
用这个解决了它:
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")
我正在构建一个 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 令牌。那么交易也失败了。
感谢您的帮助。
用这个解决了它: 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")