原文:https://noxx.substack.com/p/evm-deep-dives-the-path-to-shadowy-d6b?s=r 译文出自:Shenstone。 译者:Shenstone。 校对:Shenstone。 本文永久链接:https://learnblockchain.cn/article/3684
Viem是一个相当新的web3库,它专注于EVM,提供了更好的开发体验,更小的包体积等等。在本文中,将使用foundry部署一个简单的合约,并在node环境下使用viem与部署的链上合约执行读写交互。
彻底理解solidity里的storage:Ethereum Architecture(以太坊架构),Block Header(区块头),State Root,Ethereum Account,Storage Root,StateDB -> stateObject -> StateAccount,初始化一个新的以太坊账户,SSTORE,SLOAD
从opcode角度讲解EVM的内存机制,包括数据结构,空闲内存指针与变量赋值等
这篇文章介绍 Ethereum 开发者的一些实用工具:Foundry 除了测试之外的功能及 VSCode 的 Solidity Visual Developer 插件
深入浅出以太坊Dapp
目前,零知识证明和EVM是当下非常实用的的两种技术,成为Web2.0向Web3.0演化的两个重要入口。零知识证明提供了一种方便实用的验证方法,使得在Web3.0之外(链外)的数据/账户能够方便取得链上验证,获得Web3.0生态的信任,为数据/资产互通提供可能。同时,目前所谓的Web3.0生态,主要基于以太坊构建,对接以太坊生态流量成为进入Web3.0世界的重要入口。因此,EVM成为极为实用的基础设施和技术。Web2.0生态也可以通过兼容EVM,尝试与以太坊对接,实现应用程序的互操作。
以Geth代码为基础,从区块结构讲到账户状态/合约存储,最后是SSTORE和SLOAD两个操作码的具体实现
以太坊虚拟机是如何运行的
MEV,于无声处听惊雷。
这篇通过一个例子讲了EVM中storage和插槽的工作原理
在本文中,简单地解释一些 EVM 基础知识。
本文参考许多书籍资料,分析了 EVM 的存储空间和运行机制,对操作码进行了一定的整理,给出了参考资源,基本上涵盖了分析字节码、操作码,单步调试,观察堆栈的基础。
在本文中,将看到:1.解释这些函数解决的问题。2.讨论 Solidity 编译器如何处理新的 assert(), require() 和 revert()。3.给出一些经验法则来决定如何以及何时使用每一个。
assert()
require()
revert()
深入了解一下以太坊虚拟机兼容性的相关内容