我使用的MyAdvancedToken代码来自:https://www.ethereum.org/token
我把代币从所有者帐户转到合同中,为任何buy()提供资金。现在,我想要回那些代币。除了sell()之外,有没有办法转移它们?因为小数问题,我再也买不到那么多代币了。
我也看到过类似的问题,但我认为我可以使用transferFrom(),并在_from字段中输入合同地址。然而,这似乎失败了:
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
require(_value <= allowance[_from][msg.sender]); // Check allowance
allowance[_from][msg.sender] -= _value;
_transfer(_from, _to, _value);
return true;
}有什么办法让这件事起作用吗?为什么合同地址不能使用transferFrom发送令牌?谢谢。
发布于 2018-01-19 03:19:18
您无法获得工作津贴,因为只有有令牌的地址才能允许转移它们,在您的情况下,它的合同地址。出于同样的原因,transferFrom不能工作,只有当您有足够的时间转移所需数量的令牌时,它才会起作用。
不过,我认为您仍然可以使用sell,以防您可以访问所有者地址。首先,您可以使用setPrices函数将售价设置为0,然后您将能够购买任何数量的硬币,并返回价格,如果您想要。或者您可以使用mintToken函数为您的地址创建令牌。
https://ethereum.stackexchange.com/questions/36665
复制相似问题