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/

Explore Protocols →


⚙️ 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/

Explore Transactors →


🏗️ 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/

Explore Application Layer →


🤝 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/

Explore Consensus Engine →


🔗 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/

Explore Overlay Network →


🔄 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

Explore Codebase Navigation →


🐛 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

Explore Debugging Tools →


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


⬅️ 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