Rippled II: Deep Dive into the Protocol and Codebase
Module Overview
The second module of the XRPL Core Dev Bootcamp Online Edition builds upon your foundational knowledge to explore the architecture of Rippled. Now that you can compile and run the software, it's time to understand how it works internally, from transaction processing to consensus mechanisms and peer-to-peer networking.
This module transforms you from someone who can operate Rippled into a developer who understands its inner workings. You'll learn to navigate the complex C++ codebase, trace transaction flows through the system, and comprehend the architectural decisions that make the XRP Ledger fast, secure, and decentralized.
Explore the Topics
This deep dive is organized into focused topics, each exploring a critical component of the Rippled architecture. Click on any topic below to dive deeper into the concepts, codebase structure, and practical implementations.
🌐 Protocols
Communication and Interoperability in Distributed Systems
Learn how distributed nodes communicate, synchronize, and maintain consensus through peer-to-peer networking and protocol messages. Understand the overlay network, message types, and how Rippled nodes discover and interact with each other.
Key Topics: Peer-to-peer networking, Protocol Buffers, message propagation, connection lifecycle
Codebase: src/ripple/overlay/
⚙️ Transactors
Transaction Processing Framework
Understand the transaction processing framework and the three-phase validation process that ensures ledger integrity. Learn how different transaction types (Payment, Offer, Escrow) are implemented and how to create custom transactors.
Key Topics: Preflight, Preclaim, DoApply phases, transaction types, custom transactor creation
Codebase: src/ripple/app/tx/impl/
🏗️ Application Layer
Central Orchestration and Coordination
Explore how the Application class orchestrates all subsystems and manages the server lifecycle. Understand initialization sequences, job queue management, and how components interact.
Key Topics: Application class, subsystem coordination, job queues, initialization
Codebase: src/ripple/app/main/
🤝 Consensus Engine
XRP Ledger Consensus Protocol
Discover how validators reach agreement on transaction sets and ledger state without proof-of-work. Learn about the consensus rounds, proposals, validations, and dispute resolution mechanisms.
Key Topics: Consensus algorithm, validator coordination, UNL management, ledger close
Codebase: src/ripple/consensus/
🔗 Overlay Network
Peer-to-Peer Networking Layer
Master peer discovery, connection management, and message propagation in the decentralized network. Understand network topology, peer quality assessment, and network resilience.
Key Topics: Network topology, peer discovery, connection management, message broadcasting
Codebase: src/ripple/overlay/impl/
🔄 Transaction Lifecycle
Complete Transaction Journey
Trace the complete journey of a transaction from submission to ledger inclusion. Understand each phase: submission, validation, consensus, application, and finalization.
Key Topics: Submission methods, validation phases, consensus inclusion, canonical application
Codebase: Multiple locations across src/ripple/
Explore Transaction Lifecycle →
🗺️ Codebase Navigation
Efficiently Navigating the Rippled Source
Learn to efficiently navigate the Rippled source code and locate key components. Understand directory structure, naming conventions, code patterns, and how to find specific functionality.
Key Topics: Directory structure, naming conventions, code patterns (Keylets, Views), IDE usage
Codebase: src/ripple/
- all directories
🐛 Debugging Tools
Development and Debugging Techniques
Master logging systems, standalone mode, and debugging techniques for Rippled development. Learn to interpret logs, use debuggers, and troubleshoot common issues.
Key Topics: Logging system, standalone mode, GDB usage, log interpretation, testing
Codebase: Development tools and techniques
What You Will Learn
By completing this module, you will be able to:
Navigate the Rippled codebase and locate key components efficiently
Understand the architectural layers: Application, Transaction Processing, Consensus, and Networking
Trace transaction flows from submission to ledger inclusion
Comprehend the Transactor framework and how different transaction types are implemented
Explore peer-to-peer networking, message protocols, and peer discovery mechanisms
Use debugging tools, logging systems, and standalone mode for development
Read and interpret Rippled configuration files and runtime parameters
Understand protocol messages, RPC interfaces, and WebSocket subscriptions
These skills are fundamental for contributing to the XRPL core development, implementing protocol amendments, and building sophisticated blockchain applications.
Get Started
Access the course: docs.xrpl-commons.org/core-dev-bootcamp
Got questions? Contact us here: Submit Feedback
Navigate between modules
⬅️ Previous Module: Rippled I - Compilation of Ripple(d), setup and configuration
➡️ Next Module: Data Architecture - SHAMap and NodeStore //TODO
© 2025 XRPL Commons - Core Dev Bootcamp
Last updated