Ethereum Internals in Go
📚 In 2020, I wrote a book for beginner blockchain developers explaining the core concepts like Transaction, Block, Mempool, Proof of Work Consensus, Peer-to-peer Sync and Wallet in the form of a story of a developer trying to revolutionize his local bar by implementing a decentralized payment system from scratch:
https://web3coach.gumroad.com/l/build-a-blockchain-from-scratch-in-go
It explains blockchain fundamentals using custom, simplified components, helping developers transition from the traditional client-server architecture to the peer-to-peer networks without feeling overwhelmed - but the components were not usable in production.
Time to level-up.
Time to master Ethereum.
Time to learn how one million transactions transferring 1B+ $ daily works under the hood.
Therefore, now, in May 2025, I am writing an in-depth "second edition" where we will together reverse-engineer the Ethereum internals written in GoLang.
Your upcoming Ethereum journey:
Chapter 1 - Run Ethereum Node On Your Computer
- Install GoLang
- Prepare 2TB of free space in SSD storage
- Clone famous go-ethereum codebase and compile Geth binary
- Intro to Beacon Chain - slots, epochs and validators
- Connect Geth to Beacon Chain
- Run Geth node and synchronize mainnet
Chapter 2 - Generate Ethereum Account
- Create Externally Owned Ethereum Account (EOA) using go-ethereum code
- Review the cryptography behind EOA - secp256k1, keccak256
- Compare Hex, Base58 and Base64 encodings
- Buy ETH with MetaMask
Chapter 3 - Create Transfer Transaction
- Develop a production-ready transfer CLI tool with tests for code coverage
- Build a real mainnet transaction object
- Serialize transaction using recursive-length prefix (RLP)
- Sign the transaction with EOA
- Broadcast the transaction to the peers around the world from your node
Chapter 4 - Decode Transaction
- Decode raw transaction bytes from Chapter 3
- Extract the v, r, s from transaction signature
- Recover the sender address from the signature
- Verify the transaction signature's authenticity
- Replay transaction
Chapter 5 - Review Transaction Receipts
- Retrieve the receipt for your transaction from Chapter 3 and 4
- Extract and interpret event logs emitted during execution
- Understand Bloom filters for efficient log searching
- Build a CLI tool to monitor and notify on specific transaction events
Chapter 6 - Trace Transaction Execution
- Enable debug API on your geth node
- Intro to callTracer and structLogs
- Capture transaction execution trace using debug_traceTransaction
- Analyze EVM stack, memory and storage operations
- Monitor gas consumption
- Identify state changes produced by transaction execution
- Debug transaction execution failures by analyzing traces
Chapter 7 - Examine State Management
- Explore the Ethereum state trie structure
- Retrieve account state before and after your transaction
- Visualize state changes triggered by transaction execution
- Implement state diff calculation to track modified accounts
- Understand state root calculation and verification
Chapter 8 - Persist Blockchain Data
- Explore LevelDB storage architecture in go-ethereum
- Map database keys and values for transactions, receipts, and headers
- Implement a CLI database explorer to navigate and visualize on-disk structures
Chapter 9 - Explore New Transaction Types
- Type 1 - Optional access lists with EIP-2930
- Type 2 - Fee market mechanism with EIP-1559
- Type 3 - Blob data with EIP-4844
- New pseudo-transaction called UserOperation for Account Abstraction
Chapter 10 - Write Smart Contract
- Intro to Solidity language
- Pre-calculate Smart Contract address with CREATE and CREATE2 opcodes
- Deploy your ERC-20 token with custom logic
- Design off-chain DEX orders with EIP-712
- Call and DelegateCall
- Write a Proxy contract using Transparent, UUPS and Beacon patterns
Chapter 11 - Program a Smart Wallet
- Intro to Account Abstraction
- EIP-4337 architecture: Bundlers, Paymasters, EntryPoints
- EIP-3074 vs EIP-7702
- UserOperations and the
eth_sendUserOperation
method - Develop AA-compatible wallet sponsoring transaction gas of its users
Result
You will finish the book with in-depth understanding of the Ethereum blockchain.
🔥 How to get the book?
Initially, I thought about allowing pre-orders, but the pressure to deliver the book on a specific date would steal the joy of writing it.
Therefore, let's connect on LinkedIn first and have a chat about why this book is of interest to you.
https://www.linkedin.com/in/llukac/
Looking forward,
Lukáš.
PS: I put the price 999€ because I can't make it 0.
Not for sale yet, connect on LinkedIn to ask about the status.