通过以太坊EVM谜题深入学习EVM。
破解以太坊 EVM 谜题6
这篇文章深入探讨了Solidity中的delegatecall方法,阐明了其工作原理、操作的安全性以及如何有效管理合约状态变量布局。
那些非典型的开销导致经典的软件设计模式在合约编程语言中看起来既低效又奇怪。如果想要识别这些模式并理解他们导致效率变高/低的原因,你必须首先对以太坊虚拟机(即 EVM)有一个基本的了解。
本文深入探讨了以太坊虚拟机(EVM)与智能合约之间的交互,以及 Solidity 在处理外部程序调用合约方法时的角色和机制。文章详细介绍了交易的构建方式、ABI 编码、合约调用的底层汇编实现等核心概念,适合对 EVM 和 Solidity 有一定了解的开发者阅读。
Solidity 优化 - 隐藏的 Gas 成本
文章详细解释了以太坊智能合约在字节码级别是如何构造的,特别是构造函数参数的解释和处理方式。文章通过多个示例和图示,深入探讨了初始化代码、运行时代码以及带参数的构造函数的实现细节。
从EVM 角度探究合约创建与部署
通过以太坊EVM谜题深入学习EVM , 破解谜题 7
CREATE3操作码是一种创新的智能合约部署方式,能够使部署的地址在不同的EVM区块链上保持一致。文章详细介绍了CREATE3的优势、实现方式及其在跨链应用中的重要性。
本文由开发者Alex The Entreprenerd撰写,介绍了他在EVM开发中的经历及对抗区块链安全漏洞的努力。文章详细介绍了他的项目Recon,这是一种帮助开发者编写和运行不变性测试的工具,同时描述了两个重大的安全攻击案例,强调了不变性测试在预防未来攻击中的重要性。
本文深入探讨了以太坊架构中合约存储的实现,详细分析了以太坊区块的数据结构,以及如何通过Geth客户端查看合约存储的内部机制。文章详细解释了区块头、状态根和存储根的关系,并介绍了SSTORE和SLOAD操作码在Geth中的实现,帮助读者更好理解EVM和智能合约的存储机制。
你是否知道大端小端的概念,其定义了是高位数据先保存还是地位数据先保存,EVM 是用 大端格式存储数据,我们知道 EVM 使用 32 字节的字来处理数据,当数据不足 32 个字节时,如何填充数据呢?bytes 有哪些操作详见本文。
本文介绍了Centrifuge协议在实施模糊测试套件过程中的经验,讨论了在高覆盖率测试中的策略及方法,包括使用随机化机制来扩展合约的测试配置。文章分为多个部分,包括策略概述、Centrifuge的介绍、关键经验总结与结论,结构清晰且逻辑性强,适合对区块链测试技术感兴趣的读者。
Uniswap V4 CurrencyDelta Library 是一种优化的闪电记账工具,通过 transient storage 记录代币余额变化,从而节省 gas 消耗。文章详细介绍了如何计算存储 slot 地址、获取余额变化和应用余额变更的 Solidity 函数,实现了高效的代币管理。