那些非典型的开销导致经典的软件设计模式在合约编程语言中看起来既低效又奇怪。如果想要识别这些模式并理解他们导致效率变高/低的原因,你必须首先对以太坊虚拟机(即 EVM)有一个基本的了解。
在第 3 部分中,我们将深入探讨合约存储的工作原理,通过提供一些思维模式来帮助理解并深入了解存储插槽包装(slot packing)。
以太坊在内部实现了一个基于栈的虚拟机,我们称之为EVM(Ethereum Virtual Machine),用户所有的操作最终都会转化为操作码(OPCODE)然后在EVM中执行,下图为整个执行流程,目前我们对EVM的讲解不多,后续会陆续补上。
通过调试理解EVM 3 :存储布局如何工作?
如何调试EVM智能合约 2 :部署智能合约
破解以太坊 EVM 谜题8
如何调试EVM智能合约(第1篇): 理解汇编
通过以太坊EVM谜题深入学习EVM , 破解谜题 7
在第 2 部分中,我们将开启内存之旅,全面了解合约的内存以及它在 EVM 上的工作方式。
通过以太坊EVM谜题深入学习EVM。
破解以太坊EVM谜题1
本篇重点介绍编译后的字节码以及其如何被 EVM 执行的。
本文介绍了如何使用Hardhat工具在以太坊主网分叉中设置和修改存储变量的值,特别是在真实合约中找到各种类型变量的存储位置,并通过实用示例展示如何修改公共变量、映射和数组。通过这篇教程,开发者或白帽黑客可以安全地模拟链上操作,理解合约的存储布局和修改过程。
扫一扫 - 使用登链小程序
378 篇文章,1581 学分
209 篇文章,357 学分
187 篇文章,296 学分
65 篇文章,282 学分
115 篇文章,267 学分