我在EtherDelta上有10个VERI硬币。我试着把它们转移到我的钱包里,这样我就可以把它们转移到其他地方了。4个多小时过去了,这些令牌并没有移动,并且没有发出错误跳转目的地的警告。https://etherscan.io/tx/0x818345b40e95433f6c98e2f7ac3c11d51900dbd6c1ce61a7ec1f9e42053a6865
发布于 2017-08-17 00:22:14
看起来你有不到10枚硬币,试着取出11枚,试着取下~9.9999枚。
“坏跳转”通常意味着方法在某个时候被称为throw;,所以让我们尝试找到它。
在您的以太扫描链接中,单击契约地址,然后单击合同来源选项卡。查找以太扫描事务页面上显示您调用的withdrawToken()方法:
function withdrawToken(address token, uint amount) {
if (token==0) throw;
if (tokens[token][msg.sender] < amount) throw;
...
}token被设置为0x8f3470a7388c05ee4e7af3d01d8c722b0ff52374,所以第一个throw不是问题所在。
下一行将检查您拥有多少令牌,以确保您不会提取更多的令牌。我们来看看你有多少人。
在您共享的事务中,msg.sender是0x253b8771fd0b2d6f4e7db5aaaee0ede207cb31ab。我们可以在MyEtherWallet合同选项卡中查找该信息的余额。
从“以太扫描事务”页面复制合同地址。从以太扫描合同来源选项卡复制到ABI中。从Etherscan页面底部的第一个参数复制令牌地址。从Etherscan页面中的" from“字段复制所有者地址。单击朗读按钮。看起来应该是:

该余额的十六进制值(以ipython表示):
In [1]: hex(9999925439648120384)
Out[1]: '0x8ac6df349a9e3e40'您的原始事务请求一个比令牌余额更大的0x98a7d9b8314c0000余额。这将导致throw和退出失败。根据输入提款的方式,您可以尝试提取全部金额,如:9999925439648120384、9.999925439648120384或0x8ac6df349a9e3e40。
https://ethereum.stackexchange.com/questions/24509
复制相似问题