Ethernaut题库闯关连载第8篇题解。
Ethernaut题库闯关第7篇题解,难度等级:有点难。
今天这篇是Ethernaut题库闯关连载的第6篇题解
Ethernaut题库闯关连载的第5题题解。
Ethernaut 题库闯关 第 3 关题解。
文章非常严谨讨论了各种实现的 gas 消耗,以及低效代码带来的深远影响,并给出了实现方案。
在本文中,通过 7 个任务,如何来编写可升级合约,测试以及自动、活动实施升级。 在 7 个任务中,分别介绍了可升级合约可能遇到的各种情况: 在新实现合约中添加函数、添加状态变量、修改状态变量可见性(修改函数)。
Solidity有两种模式实现升级:透明代理与UUPS代理, 他们的实现由细微差别,本文一起来看一看。
使用检查、影响和交互模式(简称CEI:Checks, Effects, and Interactions)、互斥锁、Pull 支付方式以及gas限制都是防止可重入攻击的有效技术。
对比使用mapping、默克尔树、及离线签名 3 中方式处理白名单的优缺点。