首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(Etherdelta智能契约)代表用户发送erc20令牌(保存到契约)不是working.why吗?

(Etherdelta智能契约)代表用户发送erc20令牌(保存到契约)不是working.why吗?
EN

Ethereum用户
提问于 2018-06-17 19:18:36
回答 1查看 271关注 0票数 0

你好,我复制了etherdelta智能合同,code.All正在工作,我可以从snart合同中提取代币到我的个人钱包里。通过阅读我所理解的代码,depositToken方法就像允许契约代表me.But从我的钱包中发送令牌--这不是working.when --我单击gets时,事务将被恢复。我想批准() function.Please有一些问题,有人能帮我弄清楚吗?

代码语言:javascript
复制
    function depositToken(address token, uint amount) {
    //remember to call Token(address).approve(this, amount) or this contract will not be able to do the transfer on your behalf.
    if (msg.value>0 || token==0) throw;
    if (!Token(token).transferFrom(msg.sender, this, amount)) throw;
    tokens[token][msg.sender] = safeAdd(tokens[token][msg.sender], amount);
    Deposit(token, msg.sender, amount, tokens[token][msg.sender]);
  }

//请记住调用令牌(地址).approve(此,金额),否则本合同将无法代表您进行转账。

这句话是什么意思?

EN

回答 1

Ethereum用户

发布于 2018-06-18 00:45:23

在调用approve之前,是否在令牌契约上调用depositToken函数?如果不这样做,那么transferFrom将失败,因为合同没有授权移动您的任何令牌。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/51445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档