区块链研究实验室|停止使用Solidity的transfer()函数( 六 )
Vyper如何?
Vyper的send()函数使用与Solidity的transfer()相同的硬编码gas , 因此也应避免使用 。 你可以改用raw_call 。
Vyper内置了一个@nonreentrant(<unique_key>)装饰器 , 其工作方式与OpenZeppelin的ReentrancyGuard类似.
总结
- 在假定gas成本不变的情况下 , 推荐transfer()是有意义的 。
- gas成本并不恒定 。 智能合同对这个事实应该是健全的 。 Solidity的transfer()和send()使用硬编码的gas量 。
- 应该避免这些方法 。 请改用.call.value(...)(“”) 。
- 这就带来了重新进入的风险 。 请确保使用可用于防止重入漏洞的健壮方法之一 。
- vyper的send()也有同样的问题 。
推荐阅读
- gta三部曲|梦幻西游:129级五开分析师,研究抓鬼任务最优化投入,不浪费一分钱
- 电子竞技|S12或迎来双败制?Riot全球电竞负责人发话:会去仔细研究!
- 世界弹射物语|皇室战争:职业选手研究的英雄卡组,要论机动性,黄金圣骑YYDS
- 新世界|游戏推出一个多月就在研究合服,《新世界》如今情况如何?
- fly|Fly让AG得重新研究对策,终结ES八连胜!留在S组只差AG这一步
- 弈星|职业赛场八连跪,弈星已经被研究透了?这英雄的强度到底如何?
- 原神|原神成为中国文化敲门砖,这群老外甚至因北斗研究起了国产导航
- 鲁班|王者荣耀:将王研究出鲁班发育秘诀,网友看后纷纷点赞!
- 青钢影|《地下城与勇士》:玩这个游戏,要花时间研究一下活动和成长路线
- 手机游戏|哈利波特手游:虎牙四个四深入研究,配置斯内普卡组,只为榜一