Solidity有两种模式实现升级:透明代理与UUPS代理, 他们的实现由细微差别,本文一起来看一看。
使用检查、影响和交互模式(简称CEI:Checks, Effects, and Interactions)、互斥锁、Pull 支付方式以及gas限制都是防止可重入攻击的有效技术。
对比使用mapping、默克尔树、及离线签名 3 中方式处理白名单的优缺点。
本文讨论 Solidity 的类特性
在一次交易中,在不同的去中心化交易所进行多次兑换.
你能做些什么来防止合约变得太大?
call()与delegatecall()的异同。在delegatecall()的情况下,我们需要关心字段变量的顺序
call()
delegatecall()
译者推荐:这是我看到关于合约升级及治理写的最好的好文章,有点长,但读完必定有收获。原文来自 OpenZeppelin首席开发人员 Santiago Palladino 关于合约升级的报告,本文详细讨论了当前各种升级方式的原理、各自的优缺点,同时列举了采用相应方案的项目,以便大家进行代码级的参考。在最后一部分,作者还提出了多种配合升级的治理方案。
RC20-Permit(EIP-2612)下,如何避免 使用进行两步交易:授权+ transferFrom!