transgerFrom函数显示错误,并且总是失效。请帮帮忙。
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
uint256 allowance = allowed[_from][msg.sender];
require(balances[_from] >= _value && allowance >= _value);
balances[_to] += _value;
balances[_from] -= _value;
if (allowance < MAX_UINT256) {
allowed[_from][msg.sender] -= _value;
}
emit Transfer(_from, _to, _value); //solhint-disable-line indent, no-unused-vars
return true;
}
发布于 2018-06-02 14:42:44
在能够在令牌契约上调用transferFrom之前,持有这些令牌馀额的帐户必须调用approve,以给调用transferFrom的帐户一个备抵。
如果事务在这里失败:require(balances[_from] >= _value && allowance >= _value);,这意味着您试图从其发送令牌的帐户有一个不足的余额,或者它没有通过首先调用令牌上的approve来允许您这样做。
发布于 2019-07-30 02:27:00
函数transferFrom(address from,address to,uint令牌)公共返回(bool success) (从…=balances从….sub(令牌);.sub从…=.add从….sub(令牌);balances至 =balances至.add(令牌);Transfer(往返令牌);返回true;};
你的零用钱变量是什么?它等于什么?
你的逻辑也很差。如果您有问题,请将不同的移动部件设置为不同的功能,并让它们相互调用。
https://ethereum.stackexchange.com/questions/50235
复制相似问题