我试图通过一些代码示例使用python和web3来实现一个机器人。
它们都在出售令牌之前调用approve函数?这个功能是做什么的,它有必要吗?
谢谢
发布于 2022-02-12 16:05:52
从2014年开始,ERC-20 approve()函数是一个遗留的实现失败。
不幸的是,ERC-20令牌标准非常流行,所有令牌都复制了approve()和tranferFrom()逻辑,这是不太明智的。严格地说,这不应该是必要的,但是这就是所有ERC-20令牌被编码的方式。这已在较新的令牌标准中得到修正,但不幸的是,这些标准并没有得到普及。
发布于 2022-02-12 21:14:27
帐户调用handle函数,以批准其他帐户可以处理其令牌。它通常被用来允许交换房屋交换他们的令牌,但是这真的很危险,因为很多人不会通过MetaMask阅读他们所接受的东西。不幸的是,此函数还被扫描用于窃取令牌,因为一旦您批准某人传输您的令牌,他们就可以随意地传输您的令牌。
批准函数通常与transferFrom函数一起使用。一旦帐户A被帐户B授权(通过批准函数)传输其令牌,那么帐户A将使用transferFrom函数将令牌从帐户B(参数_from)转移到它想要的任何人(参数_to)。
发布于 2022-05-16 05:30:02
当呼叫合同时,合同知道是谁打的电话(即发送方)。当您调用token.transfer( to,you )时,您是发送方,并要求令牌契约将令牌的“金额”转移到" to“地址。因为它是“您”(发送者)请求转移您自己的余额,这就是所需要的。
在其他情况下,您(发送方)希望告诉令牌契约,可以使用不同的合同(例如Uniswap)代表您移动令牌余额。例如,当您想要用USDT交换某些东西时,您需要允许Uniswap接受您的USDT。
因此,您首先要调用usdt.approve(spender,amount)。稍后,“支出者”合同(Uniswap)将使用该批准将“金额”令牌从您的余额转移到自己(或其他地方)。
https://ethereum.stackexchange.com/questions/121480
复制相似问题