首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网站3‘S批准在象征性出售前做什么?

网站3‘S批准在象征性出售前做什么?
EN

Ethereum用户
提问于 2022-02-12 15:02:10
回答 3查看 949关注 0票数 1

我试图通过一些代码示例使用python和web3来实现一个机器人。

它们都在出售令牌之前调用approve函数?这个功能是做什么的,它有必要吗?

谢谢

EN

回答 3

Ethereum用户

发布于 2022-02-12 16:05:52

从2014年开始,ERC-20 approve()函数是一个遗留的实现失败。

不幸的是,ERC-20令牌标准非常流行,所有令牌都复制了approve()tranferFrom()逻辑,这是不太明智的。严格地说,这不应该是必要的,但是这就是所有ERC-20令牌被编码的方式。这已在较新的令牌标准中得到修正,但不幸的是,这些标准并没有得到普及。

关于这个主题的更多信息

票数 0
EN

Ethereum用户

发布于 2022-02-12 21:14:27

帐户调用handle函数,以批准其他帐户可以处理其令牌。它通常被用来允许交换房屋交换他们的令牌,但是这真的很危险,因为很多人不会通过MetaMask阅读他们所接受的东西。不幸的是,此函数还被扫描用于窃取令牌,因为一旦您批准某人传输您的令牌,他们就可以随意地传输您的令牌。

批准函数通常与transferFrom函数一起使用。一旦帐户A被帐户B授权(通过批准函数)传输其令牌,那么帐户A将使用transferFrom函数将令牌从帐户B(参数_from)转移到它想要的任何人(参数_to)。

票数 0
EN

Ethereum用户

发布于 2022-05-16 05:30:02

当呼叫合同时,合同知道是谁打的电话(即发送方)。当您调用token.transfer( to,you )时,您是发送方,并要求令牌契约将令牌的“金额”转移到" to“地址。因为它是“您”(发送者)请求转移您自己的余额,这就是所需要的。

在其他情况下,您(发送方)希望告诉令牌契约,可以使用不同的合同(例如Uniswap)代表您移动令牌余额。例如,当您想要用USDT交换某些东西时,您需要允许Uniswap接受您的USDT。

因此,您首先要调用usdt.approve(spender,amount)。稍后,“支出者”合同(Uniswap)将使用该批准将“金额”令牌从您的余额转移到自己(或其他地方)。

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

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

复制
相关文章

相似问题

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