登录 后可观看高清视频

EVM 编程课程 #3 - 操作码和预编译

241次播放
2025-08-01

视频 AI 总结: 本视频是 EVM 计划课程的第三集,主要讲解了 EVM(以太坊虚拟机)中的 Opcodes 和 Precompiles,它们是 EVM 交易的核心。视频首先解释了 Bytes 的概念,以及数字的不同表达方式(二进制、八进制、十六进制),以及大小端序。然后深入讲解了 Opcodes 的类型,包括停止、数学运算、环境信息、储存/记忆操作、Logs/Events 和系统操作,以及 Precompiles 的作用和一些常用的 Precompiles 合约。

关键信息:

  • Bytes 的不同表达方式:二进制(0b)、八进制、十进制、十六进制(0x)。
  • 大小端序:小端序和大端序在书写 Bytes 方式上的不同。
  • EVM 支持的唯一类型是 32 Bytes。
  • Opcodes 是 EVM 的低级指令,用于构建智能合约。
  • Opcodes 的分类:停止、数学运算、环境信息、储存/记忆操作、Logs/Events、系统操作。
  • Precompiles 是预先编译好的智能合约,用于执行数据上昂贵的行动,提高效率。
  • 常用的 Precompiles 合约:ecrecover, sha256, ripemd160, identity, modexp, ecadd, ecmul, ecpairing, blake2f。
  • Logs 和 Events 实际上是同一个东西,在 Solidity 中叫 Event,在底层叫 Log。
  • Delegatecall 需要一个少于 call 的 gas,因为它并不需要密码价值。
  • Staticcall 就像一般的 call,但是它不允许任何储存改变。