Published: 28 Jul 2020 › Updated: 28 Jul 2020
ERC20代币的授权 / 学习智能合约#20
ERC20代币中有个挺麻烦的操作:授权。这主要是因为如果其它合约要调用代币转帐只能使用transferFrom,但是要调用这个方法的前提就是你要授权这个合约有权限来转帐你的代币! 这就是approve功能。
我在开发时为了避免这个授权,曾专门写过一个函数,如下:
function transferFromOrigin(address _to, uint256 _value)
public
override
returns (bool success)
{
require(_to != address(0));
require(balanceOf[tx.origin] >= _value);
require(balanceOf[ _to] + _value >= balanceOf[ _to]);
balanceOf[tx.origin] -= _value;
balanceOf[_to] += _value;
emit Transfer(tx.origin, _to, _value);
return true;
}
有了这个方法其它合约来调用代币转帐就很容易了,一步搞定。但是后来在其它的文章中看到tx.origin不太安全,会有钓鱼漏洞。所以,在这次的更改中主要采用OpenZeppelin的标准。这时授权操作就无法避免了。
以太坊的DAPP确实挺难开发和应用的,就算是老手有时也会晕头转向,更别提新手了。现阶段能参与以太坊,比如参与DeFi的大部分是老外,国内的用户还是蛮少的。开发者那就更少了。现阶段几乎所有的DeFi都是老外开发的,国产的几乎没有。嗯 ,国内的开发者要加油啊!
Leave ERC20代币的授权 / 学习智能合约#20 to:
Read more #smartcontract posts
Best Posts From lemooljiang
We have not curated any of lemooljiang's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From lemooljiang
- Nextjs初体验,和Nuxt的异同
- DeepTutor:AI个性化辅导平台 / ai #57
- ComfyUI:可编程和自动化的PS / ai #56
- 将Neo4j封装进Agent / ai #55
- 闲鱼省钱大法:极限0.5折!
- 对Neo4j批量导入结构化数据 / ai #54
- langchain对neo4j进行交互,写入和查询数据 / ai #53
- 知识图谱和图数据库Neo4j的作用和使用场景 / ai #52
- SpaceX、美股和比特币
- 又是币圈血洗日!
- 链股合流,当币安也开始卖股票啰
- 天涯社区重启,爷青回?
- 诺基亚在AI时代重新杀回来啦
- 《2049:未来10000天的可能》书中的镜像世界为什么不叫元宇宙
- 今天适合吃披萨
- 开通即被封,别再给Claude送人头了!
- 两根内存条引发的“官司”
- AI·Joe V12更新, 更新GPT-5.5和DeepSeek V4 等
- 中医进校园活动反响热烈
- 猪价低伤农,猪价贵伤民