什么是ERC20代币授权:
ETH上的DApp大都涉及到合约操作,所以在授权的时候,是授权某个合约地址可以操作地址中多少代币;
例如:
A账号有10000个token代币,B账号没有token代币,C账号也没有token代币!
那么:A账号 委托 B账号 转给C账号 100个token代币 怎么来实现呢?
首先:A账号 和 B账号建立一种委托关联,登录A账户执行approve(b,100)方法结果为:结果:_allowed[A][B] = 100token
然后:在执行登录B账户执行transferFrom(A,C,100),这里的B就是委托账号发送者,gas从B扣,必须确保token数量小于_allowed[A][B]
总结来说: 就是A转入C,但是要经过B的账号来发送交易!
可能存在什么风险:
在操作过程中,如果将代币转账授权都授权给一个恶意的合约,那就相当于这个合约可以把你的代币拿去做抵押或者其它恶意操作。(参考上述案例)
以太坊上的DeFi已被广大用户所熟知,例如辨识度很高的Uniswap、Curve、Banlancer等工具,这类工具的操作便捷、功能强大,而且上线代币也非常方便,所以这就会导致可能会有一些恶意的人来通过这些平台作恶,所以在我们每次执行ERC20代币兑换的时候(尤其是一些新代币)都可能会存在风险。所以TP钱包新版本中的【操作类型】和【授权数量】显得尤为重要。(授权一次ERC20代币的操作,相当于签订了一份协议,协议规定的可以使用的代币数量上限是X,如果需要再次请求大于X数量时会触发二次授权操作,这一切通过TP钱包都可以很直观的查看的。)
作者:Token Pocket,来源:https://www.tokenpocket.pro/
更多以太坊内容,请访问《以太坊100问》
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。