WET:使用工厂提高智能合约安全性_WETH

译文出自:登链翻译计划

译者:翻译小组

校对:Tiny熊

智能合约可以部署其他智能合约,通常称为工厂模式),让你不是创建一个合约跟踪很多事情,而是创建多个智能合约,每个合约只跟踪各个的事情。使用这种模式可以简化合约代码,减少某些类型的安全漏洞的影响。

在这篇文章中,我将带你了解一个例子,这个例子是基于最近的一次审计中发现的一个关键漏洞修改而来。如果使用了工厂模式,这个漏洞就不会那么严重了。

动态 | 1月XRP的交易数量超过亚马逊股票 在所有资产中排名第五:投资平台eToro在推特表示,2019年1月,虚拟货币中最大的交易量是XRP,交易次数为29991次,超越亚马逊股票的28306次,在所有资产中排名第五;ETH交易量排名第七位,BTC排名第九位。[2019/2/28]

一个错误的智能合约

下面是一个智能合约,通过一个相当简单的接口来出售WETH。如果你有WETH,你只需要approve这个智能合约来出售你的代币,它将确保你得到正确的金额。只要批准了足够的代币,任何人都可以向你购买WETH。

动态 | IBM向亚马逊AWS开放其区块链开发平台:据thenextweb消息,IBM宣布已对其IBM区块链平台进行改进,该平台提供了一套开发工具来构建分散式解决方案。此外,该平台现已支持AWS(亚马逊网络服务)等第三方云提供商。[2018/11/14]

合约采用提现模式向卖家交付出售所得的ETH,但合约作者却犯了严重错误,代码如下:

//技术上可以实现出售任何代币,但这个例子仅出售WETH。//因为这里不想关注价格

LINE、雅虎日本和亚马逊日本于今日开展了防止“网络钓鱼”活动:LINE、雅虎日本和亚马逊日本于今日开展了“防灾培训”活动,防止群众受到虚假网站和非法获取个人信息的“网络钓鱼”的损害。[2018/6/8]

//从指定的seller购买WETH

//出售者调用,提取ETHfunctionwithdraw(uint256amount)external{require(amount<=balanceOf,"Insufficientfunds.");//Whoops!Forgotthis://balanceOf-=amount;(boolsuccess,)=msg

}

如果你想知道为什么代码使用

//不用再指定seller

functionwithdraw(uint256amount)external{require(msg

}

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

本文来源于非小号媒体平台:

登链社区

现已在非小号资讯平台发布105篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/9798515.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

盘点零知识证明代表性项目:如何影响和塑造区块链生态系统?

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:15ms0-4:435ms