EVM & Gas Mechanics
Understand the Ethereum Virtual Machine (EVM) as the runtime environment for smart contracts and the concept of gas for transaction fees.
EVM & Gas Mechanics is a free Web3 & DApp Development Fundamentals lesson on CoddyKit — lesson 3 of 3. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Web3 & DApp Development Fundamentals learning path, one of 3 lessons in the course, and your progress syncs across the web and the CoddyKit app.
The Brain of Ethereum
Ethereum isn't just a ledger; it's a decentralized computer! This "computer" is called the Ethereum Virtual Machine (EVM).
Think of the EVM as a global, single-instance computer that runs all smart contracts and updates the state of the blockchain.
Every node in the Ethereum network runs the EVM, ensuring everyone agrees on the exact state of the network.
A Deterministic State Machine
The EVM is a deterministic state machine. This means that given the same starting state and the same transaction, it will always produce the same output state.
It processes transactions, executes smart contract code, and updates the blockchain's state (account balances, contract storage, etc.) accordingly.
This determinism is crucial for a decentralized network, as it allows all participants to independently verify the blockchain's integrity.
EVM Opcodes: Machine Language
Smart contracts, written in languages like Solidity, are compiled into EVM bytecode. This bytecode consists of low-level instructions called opcodes.
Each opcode performs a specific task, such as adding two numbers, pushing data onto the stack, or storing data in memory.
The EVM executes these opcodes sequentially, processing the logic defined by the smart contract.
Why Do We Need Gas?
Running computations on a global, decentralized computer isn't free. This is where Gas comes in.
Gas is a unit of computational effort required to perform operations on the Ethereum network.
It's used to:
- Prevent infinite loops in smart contracts.
- Compensate miners/validators for their computational resources.
- Prioritize transactions based on the fee offered.
Gas Limit: Your Transaction's Budget
When you send a transaction, you specify a Gas Limit. This is the maximum amount of gas you're willing to spend on that transaction.
It acts as a safety mechanism. If the transaction requires more gas than the limit, it will revert (fail), but you still pay for the gas used up to that point.
A standard Ether transfer typically costs 21,000 gas units. Smart contract interactions can cost much more depending on their complexity.
Gas Price: Cost Per Unit
While Gas Limit is the quantity, Gas Price is the cost per unit of gas. It's typically denominated in Gwei.
1 Gwei = 0.000000001 Ether. So, 1 Ether = 1,000,000,000 Gwei.
You can set a higher Gas Price to incentivize miners/validators to include your transaction in a block sooner, especially during network congestion.
Calculating Transaction Fees
The total transaction fee you pay is calculated as:
Gas Units Used * Gas Price
For example, if a transaction uses 21,000 gas units and the gas price is 50 Gwei:
- Fee = 21,000 * 50 Gwei = 1,050,000 Gwei
- Which is 0.00105 Ether
Remember, you only pay for the gas actually used, up to your Gas Limit.
The 'Out of Gas' Error
If your transaction runs out of gas before completing its execution, it will result in an "Out of Gas" error.
When this happens:
- All state changes made by the transaction are reverted.
- The transaction fails and is not recorded on the blockchain (except as a failed transaction).
- Crucially, you still pay the transaction fee for all the gas consumed up to the point of failure.
Gas Refunds: A Small Reward
Ethereum offers gas refunds for certain operations that reduce the blockchain's state size.
For instance, if a smart contract deletes data from storage, a portion of the gas spent on that deletion is refunded.
This incentivizes developers to write efficient contracts that don't unnecessarily bloat the blockchain's state.
Quick Check: EVM & Gas
Test your understanding of the Ethereum Virtual Machine and Gas mechanics.
EVM & Gas: The Essentials
In this lesson, we explored the core mechanics of the Ethereum network:
- The Ethereum Virtual Machine (EVM) is the global, deterministic computer executing smart contracts.
- Gas is the unit of computational effort required for transactions.
- Gas Limit sets the maximum gas a transaction can consume.
- Gas Price (in Gwei) determines the cost per unit of gas.
- Total transaction fees are
Gas Used * Gas Price. - Running "out of gas" reverts the transaction but still consumes the spent gas.
Understanding these concepts is vital for developing efficient and cost-effective DApps!
Frequently asked questions
Is the “EVM & Gas Mechanics” lesson free?
Yes — the full text of “EVM & Gas Mechanics” is free to read here on the web, and the Web3 & DApp Development Fundamentals course includes 3 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Web3 & DApp Development Fundamentals course, upgrade to CoddyKit PRO.
What will I learn in “EVM & Gas Mechanics”?
Understand the Ethereum Virtual Machine (EVM) as the runtime environment for smart contracts and the concept of gas for transaction fees. You practise Web3 & DApp Development Fundamentals with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Web3 & DApp Development Fundamentals?
No prior experience is required. Web3 & DApp Development Fundamentals on CoddyKit is structured for beginners through advanced learners; this is — lesson 3 of 3, so you can start here or from the beginning and move at your own pace.
How long does the “EVM & Gas Mechanics” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Web3 & DApp Development Fundamentals lesson?
Yes. Every Web3 & DApp Development Fundamentals lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- The Ethereum Blockchain
- What are Smart Contracts?
- EVM & Gas Mechanics