Solidity delegatecall 的使用和误区

Solidity delegatecall (委托调用)是一个低级别的函数,其强大但棘手,如果使用得当,可以帮助我们创建 可扩展 的智能合约,帮助我们修复漏洞,并为现有的智能合约增加新的功能

Solidity 非权威开发指南(5):合约升级

所有以太坊开发者都清楚以太坊世界的一条铁律:合约一旦发布就无法修改。因此,对于合约的发布基本上都采用一种慎之又慎的态度,期望在发布前可以做到尽善尽美,力争合约能正常运行一万年。可是,智者千虑必有失,合约发布百分百不出问题几乎是不可能任务。

  • 胡键
  • 发布于 2023-02-02
  • 阅读 ( 3385 )

Solcurity: 合约代码安全建议

Solidity智能合约有关安全和代码质量标准的建议

  • 张小风
  • 发布于 2023-01-28
  • 阅读 ( 2255 )
  • ( 131 )

Gas 技巧:Solidity 中利用位图大幅节省Gas费

在 Solidity 中使用位图,可以为你节省大量的 Gas 费

研究如何利用 Solidity 新操作码 Prevrandao 获取随机数

研究如何利用 Solidity 新操作码 Prevrandao 获取随机数

EVM 深入探讨 Part 4

本篇文章将介绍 Geth 代码库,了解以太坊的 “世界状态”,以此加深对 EVM 的整体理解。

使用Foundry来探索可升级的合约

使用Foundry工具来探索实现可升级的合约,本文介绍了可升级的合约使用的 delegatecall 时遇到的变量冲撞的问题,以及应该如何应对。

  • Tiny熊
  • 发布于 2023-01-06
  • 阅读 ( 2898 )
  • ( 115 )

Foundry官方文档的中文翻译

类似Hardhat,Foundry是一个Solidity智能合约开发工具链。Foundry管理您的依赖关系、编译项目、运行测试、部署,并允许您通过命令行和Solidity脚本与链交互。

  • 寒星
  • 发布于 2023-01-06
  • 阅读 ( 3186 )
  • ( 76 )

解构 Solidity 合约 #4: 函数体

解构 Solidity 合约 4: 函数体

逆向 EVM - 解析原始Calldata数据

逆向 EVM - 解析原始Calldata数据

解构 Solidity 合约 #3:函数包装器

解构 Solidity 合约 3:函数包装器

解构Solidity合约 #1 - 字节码

理解 EVM 解构Solidity合约 1 - 字节码

Uniswap Permit2 - 高效、一致和安全的授权

Uniswap Labs发布了两个新的智能合约Permit2和UniversalRouter, Permit2 确实可以让链上交易体验上一层楼, 推荐各大协议接入。

从EVM 角度看合约创建与部署

从EVM 角度探究合约创建与部署

深入了解Solidity数据位置 - Calldata

深入了解Solidity数据位置 - Calldata

通过逆向和调试深入EVM #7 - 与其他智能合约的交互

通过逆向和调试深入EVM 7 - 与其他智能合约的交互

通过逆向和调试深入EVM #6 - 完整的智能合约布局

通过逆向和调试深入EVM 6 - 完整的智能合约布局

通过逆向和调试深入EVM #5 - EVM如何处理 if/else/for/functions

通过逆向和调试深入EVM 第 5 篇 - EVM如何处理 if/else/for/functions

破解以太坊 EVM 谜题10

破解以太坊 EVM 谜题10

通过逆向和调试理解EVM #4:结束/中止执行的5种指令

通过调试理解EVM 第 4 篇,了解 结束/中止执行的5种指令