Solidity delegatecall (委托调用)是一个低级别的函数,其强大但棘手,如果使用得当,可以帮助我们创建 可扩展
的智能合约,帮助我们修复漏洞,并为现有的智能合约增加新的功能
所有以太坊开发者都清楚以太坊世界的一条铁律:合约一旦发布就无法修改。因此,对于合约的发布基本上都采用一种慎之又慎的态度,期望在发布前可以做到尽善尽美,力争合约能正常运行一万年。可是,智者千虑必有失,合约发布百分百不出问题几乎是不可能任务。
Solidity智能合约有关安全和代码质量标准的建议
研究如何利用 Solidity 新操作码 Prevrandao 获取随机数
本篇文章将介绍 Geth 代码库,了解以太坊的 “世界状态”,以此加深对 EVM 的整体理解。
使用Foundry工具来探索实现可升级的合约,本文介绍了可升级的合约使用的 delegatecall 时遇到的变量冲撞的问题,以及应该如何应对。
类似Hardhat,Foundry是一个Solidity智能合约开发工具链。Foundry管理您的依赖关系、编译项目、运行测试、部署,并允许您通过命令行和Solidity脚本与链交互。
Uniswap Labs发布了两个新的智能合约Permit2和UniversalRouter, Permit2 确实可以让链上交易体验上一层楼, 推荐各大协议接入。
通过逆向和调试深入EVM 第 5 篇 - EVM如何处理 if/else/for/functions