简介
Opcodes(操作码)是以太坊智能合约的基本单元。
一般来说智能合约会先被编译成字节码,然后才能在EVM上运行。而字节码就是由一系列Opcodes组成。当用户在EVM中调用这个智能合约的函数时,EVM就会解析并且执行这些Opcodes,以实现合约逻辑。
例如:
PUSH1
:将一个字节的数据压入堆栈。例如:PUSH1 0x60
就是将0x60压入堆栈。
DUP1
:复制堆栈顶部的一个元素
SWAP1
: 交换堆栈顶部的前两个元素。
EVM基础
由于Opcodes直接操作EVM的资源,比如堆栈、内存、存储,因此了解EVM基础很重要。