第9章:EVM详解
小白入门:https://github.com/dukedaily/solidity-expert ,欢迎star转发,文末加V入群。
职场进阶: https://dukeweb3.com
其他(重要)
- evm在线查询:https://github.com/wolflo/evm-opcodes
- evm在线查询:https://github.com/comitylabs/evm.codes
- https://jeancvllr.medium.com/solidity-tutorial-all-about-assembly-5acdfefde05c
- 精通以太坊:https://github.com/ethereumbook/ethereumbook
- https://ethereum.org/en/developers/docs/
作者
- Ethernaut CTF: https://learnblockchain.cn/people/11048
- 原文出处:https://learnblockchain.cn/article/4800
Jordan McKinney - EVM 解释
从单个合约层面和以太坊的整体世界状态深入解释 EVM 的视频。
- EVM 解释(Youtube): https://www.youtube.com/watch?v=kCswGz9naZg&feature=youtu.be
Andreas Antonopoulos - 以太坊虚拟机
涵盖了 EVM 如何工作的基本原理,并展示了 EVM 如何与协议层互动。
Openzepplin - 解构 Solidity 合约
一组博文,帮助你了解 solidity 代码是如何被 EVM 解释和执行的。
- 第1部分 - 介绍: https://blog.openzeppelin.com/deconstructing-a-solidity-contract-part-i-introduction-832efd2d7737/
- 第2部分 - 运行时间与创建字节码: https://blog.zeppelin.solutions/deconstructing-a-solidity-contract-part-ii-creation-vs-runtime-6b9d60ecb44c
- 第3部分 - 函数选择器: https://blog.zeppelin.solutions/deconstructing-a-solidity-contract-part-iii-the-function-selector-6a9b6886ea49
- 第4部分 - 函数封装器: https://blog.zeppelin.solutions/deconstructing-a-solidity-contract-part-iv-function-wrappers-d8e46672b0ed
- 第5部分 - 函数主体: https://blog.zeppelin.solutions/deconstructing-a-solidity-contract-part-v-function-bodies-2d19d4bef8be
- 第六部分 - 元数据哈希: https://blog.zeppelin.solutions/deconstructing-a-solidity-contract-part-vi-the-swarm-hash-70f069e22aef
Noxx - EVM 深入探索
一组博客文章,深入 EVM 的特定部分,让你从 solidity 代码到 EVM 的操作代码。
- 第1 部分 - 函数选择器深入分析: https://noxx.substack.com/p/evm-deep-dives-the-path-to-shadowy?s=r
- 第2部分 - EVM中的内存: https://noxx.substack.com/p/evm-deep-dives-the-path-to-shadowy-d6b?s=r
- 第3部分 - EVM中的存储: https://noxx.substack.com/p/evm-deep-dives-the-path-to-shadowy-3ea?s=r
- 第4部分 - Go Ethereum(Geth)客户端的存储操作码: https://noxx.substack.com/p/evm-deep-dives-the-path-to-shadowy-5a5?utm_source=%2Fprofile%2F80455042-noxx&utm_medium=reader2&s=r
- 第5部分 - 委托调用深入研究: https://noxx.substack.com/p/evm-deep-dives-the-path-to-shadowy-a5f?utm_source=%2Fprofile%2F80455042-noxx&utm_medium=reader2&s=r
Karmacoma - 从零开始构建一个 EVM
一组博文,用 Python 从头开始实现 EVM,参考 Ethereum 黄皮书并涉及 EVM 的机制
第1部分 - 基本执行环境: https://www.notion.so/Building-an-EVM-from-scratch-part-1-the-execution-context-c28ebb4200c94f6fb75948a5feffc686
第2部分 - Branching指令: https://www.notion.so/Building-an-EVM-from-scratch-part-2-branching-instructions-d864da164256426a9a1a0f7cc475c840
Femboy Capital - A Playdate with the EVM
- Part 1 - A Playdate with the EVM: https://femboy.capital/evm-pt1
Takenobu T. - EVM 图解
EVM 代码 -- 操作码 的 EVM Playground
一个互动的网站和 EVM Playground。对 EVM 开发者来说是最有价值的工具之一。它包含一个所有操作码的列表,以及描述和一个你可以观察它们如何工作的 Playground。
区块链程序 -- 智能合约存储
一篇博文,对合约存储的数据结构做了很好的概述
- 了解以太坊智能合约存储: https://programtheblockchain.com/posts/2018/03/09/understanding-ethereum-smart-contract-storage/
Jeancvllr - EVM Assembly
一篇关于 EVM 汇编、操作码和在 solidity 中使用汇编的博文。 Solidity Tutorial All About Assembly: https://jeancvllr.medium.com/solidity-tutorial-all-about-assembly-5acdfefde05c
Peter Robinson - Solidity 到字节码、内存和存储
一段深入的视频,介绍了合约如何被编译成字节码,如何处理其内存/存储,以及如何被 EVM 解释。 EVM从Solidity到字节码、内存和存储: https://www.youtube.com/watch?v=RxL_1AfV7N4&t=2s
Marek Kirejczyk - Ethereum 背后的秘密
- 一段深入的视频,探讨了用于存储 Ethereum 世界状态的算法和数据结构。
- Ethereum 背后的秘密: 算法与数据结构: https://www.youtube.com/watch?v=OxofT39TJgg