Skip to main content
Overview
What is Ethereum?
What is the Ethereum network?
What is ether (ETH)?
What is Web3?
Ethereum vs Bitcoin
Smart contracts
Ethereum wallets
Gas fees
What are layer 2 networks?
Staking
Privacy on Ethereum
Ethereum security and scam prevention
Support
Test your knowledge
Videos
Start here
Choose your wallet
Get ETH
Explore apps
See all guides
Payments
Stablecoins
Prediction markets
See all use cases
Solo staking
Run a node
Pooled staking
Staking with a service
Layer 2 networks
Find an L2 network
Blockchain bridges
Builder's home
Builder tools & apps
Code tutorials
Learn by coding
Overview
Foundational topics
Ethereum stack
UX/UI design fundamentals
Founders
Institution & enterprise
Community hub
Events calendar
Online communities
Devcon
Where to start
Grants
About ethereum.org
Contributing to ethereum.org
Translation Program
ethereum.org collectibles
Brand assets
Ethereum Whitepaper
Governance
Overview
Improved security
Cheaper transactions
Better user experience
Future-proofing
EIPs - Ethereum improvement proposals
ERCs
Bug bounty
Trillion-dollar security
Energy consumption
History & founders
Technical history
Open research
Data & analytics tools
Ethereum Foundation
Change page
Overview
Foundational topics
Intro to Ethereum
Intro to Ether
Intro to dapps
Web2 vs Web3
Accounts
Transactions
Blocks
Ethereum virtual machine (EVM)
Opcodes
Gas
Nodes and clients
Run a node
Client diversity
Nodes as a service
Node architecture
Light clients
Archive nodes
Bootnodes
Networks
Consensus mechanisms
Proof-of-stake
Gasper
Weak subjectivity
Attestations
PoS rewards and penalties
PoS attack and defense
Keys
Withdrawal credentials
Proof-of-stake versus proof-of-work
Block proposal
Proof-of-stake FAQs
Proof-of-work
Mining
Mining algorithms
Dagger-Hashimoto
Ethash
Proof-of-authority
Ethereum stack
Intro to the stack
Smart contracts
Smart contract languages
Smart contract anatomy
Smart contracts libraries
Testing smart contracts
Compiling smart contracts
Deploying smart contracts
Naming smart contracts
Verifying smart contracts
Upgrading smart contracts
Smart contract security
Smart contract formal verification
Composability
Development networks
Development frameworks
Ethereum client APIs
JavaScript APIs
Backend APIs
JSON-RPC
Data and analytics
Block explorers
Storage
Integrated Development Environments (IDEs)
Programming languages
Dart
Delphi
.NET
Elixir
Golang
Java
JavaScript
Python
Ruby
Rust
Advanced
Bridges
Standards
Token standards
ERC-20: Fungible Tokens
ERC-721: NFTs
ERC-1155
Maximal extractable value (MEV)
Oracles
Scaling
Optimistic rollups
Zero-knowledge rollups
State channels
Sidechains
Plasma
Validium
Data availability
Blockchain data storage strategies
Networking layer
Network addresses
Portal Network
Data structures and encoding
Patricia Merkle Trie
Recursive-length prefix (RLP)
Simple serialize (SSZ)
Web3 secret storage definition
Design fundamentals
Intro to design and UX
Heuristics for Web3
Decentralized Exchange (DEX) design best practices
Ethereum for Java developers
Page last update: August 25, 2025