0Pricing
Web3 & DApp Development Fundamentals · Lektion

Opcodes

Operationen auf niedriger Ebene

Opcodes ist eine kostenlose Web3 & DApp Development Fundamentals-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Web3 & DApp Development Fundamentals-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Web3 & DApp Development Fundamentals-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

The EVM Instruction Set

At its lowest level, the EVM runs a sequence of opcodes — single-byte instructions that each do one thing.

Understanding opcodes reveals what your Solidity actually does and where gas goes.

What Is an Opcode?

An opcode (operation code) is a one-byte command the EVM executes. Examples include ADD, MUL, PUSH1, SLOAD, and JUMP.

Each opcode has a name, a numeric value, and a fixed gas cost.

0x01 = ADD
0x02 = MUL
0x60 = PUSH1
0x54 = SLOAD
0x56 = JUMP

Stack Manipulation Opcodes

Opcodes like PUSH, POP, DUP, and SWAP manage the stack.

PUSH adds a value, POP removes one, DUP duplicates an item, and SWAP exchanges two stack positions.

PUSH1 0x0A   // [10]
DUP1         // [10, 10]
PUSH1 0x14   // [10, 10, 20]
SWAP1        // [10, 20, 10]

Arithmetic Opcodes

Arithmetic opcodes pop operands and push results: ADD, SUB, MUL, DIV, and MOD.

All math is done on 256-bit unsigned integers (with signed variants available).

PUSH1 0x09   // [9]
PUSH1 0x04   // [9, 4]
SUB          // [5]   (9 - 4)

Comparison and Logic

Opcodes like LT, GT, EQ, AND, OR, and ISZERO handle comparisons and bitwise logic.

They push 1 for true and 0 for false, which control flow then uses.

Memory and Storage Opcodes

Data movement opcodes touch the costly locations:

  • MLOAD / MSTORE — read/write memory
  • SLOAD / SSTORE — read/write storage

SSTORE is one of the most expensive opcodes.

Control Flow Opcodes

JUMP and JUMPI (conditional jump) move execution to a JUMPDEST marker.

This is how the EVM implements loops and if-statements at the bytecode level.

PUSH1 0x10   // jump target
JUMPI        // jump if top of stack != 0
// ... at offset 0x10:
JUMPDEST     // valid landing spot

Environment Opcodes

Opcodes like CALLER, CALLVALUE, ADDRESS, and TIMESTAMP expose context.

For example, CALLER pushes the address that initiated the call (this is what msg.sender compiles to).

Gas Cost per Opcode

Every opcode has a defined gas cost. Cheap ones like ADD cost 3 gas; expensive ones like SSTORE cost up to 20000.

The total gas of a transaction is the sum of all opcodes it executes.

ADD    -> 3 gas
MLOAD  -> 3 gas
SLOAD  -> 2100 gas
SSTORE -> up to 20000 gas

From Solidity to Opcodes

The Solidity compiler turns each high-level statement into many opcodes.

A single uint x = a + b; becomes PUSH, PUSH, ADD, and an MSTORE or SSTORE depending on where x lives.

Putting It Together

Opcodes are the EVM's atomic instructions for stack, arithmetic, logic, memory, storage, control flow, and environment.

Each carries a gas cost, and your Solidity ultimately becomes a stream of them.

Quick Check

Test your opcode knowledge.

Recap: Opcodes

You learned that:

  • Opcodes are one-byte EVM instructions
  • They cover the stack, arithmetic, logic, memory, storage, control flow, and environment
  • SSTORE is among the most expensive
  • Solidity compiles into many opcodes

Next: accounts and state.

Häufig gestellte Fragen

Ist die Lektion „Opcodes“ kostenlos?

Ja — der vollständige Text von „Opcodes“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Web3 & DApp Development Fundamentals-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Web3 & DApp Development Fundamentals-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Opcodes“?

Operationen auf niedriger Ebene Du übst Web3 & DApp Development Fundamentals mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Web3 & DApp Development Fundamentals zu starten?

Keine Vorkenntnisse erforderlich. Web3 & DApp Development Fundamentals auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Opcodes“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Web3 & DApp Development Fundamentals-Lektion Code schreiben und ausführen?

Ja. Jede Web3 & DApp Development Fundamentals-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Die Ethereum Virtual Machine
  2. Storage, Memory, Stack
  3. Opcodes
  4. Accounts und State
← Zurück zu Web3 & DApp Development Fundamentals