We’ve launched NetiRails: infrastructure for stablecoin-based cross-border paymentsExplore NetiRails

How Neti Contributed to XRPL Core Codebase Modernization

See how Neti contributed to XRPL core codebase modernization through open-source C++ blockchain development, test migration, and CI analysis.

Shortly

In Short

XRPL is supported by a large, mature C++ codebase that powers core blockchain infrastructure. As part of an open-source contribution effort, Neti worked on selected modernization tasks in the public XRPL repository.

The initial goal was to migrate legacy tests from an older internal framework to gtest. In practice, the work required more than mechanical test rewriting. Some tests were tightly coupled to older production modules, the repository was actively evolving, and every contribution had to pass review, CI checks, and maintainer expectations.

Neti contributed to the XRPL codebase by migrating selected tests, analyzing architectural dependencies, investigating intermittent CI behavior, and creating tooling ideas to preserve pull request review feedback for future follow-up.

About the Contribution

This was not a client delivery project. It was an open-source protocol engineering contribution to the XRPL ecosystem.

Neti worked directly inside the public XRPL codebase, contributing through pull requests, code review discussions, CI checks, and maintainer feedback. Beyond async code contributions, our team actively participated in weekly organizational core team syncs and facilitated recurring sessions to align on test migration priorities. The engineering focus centered on modernizing selected parts of the test suite and improving maintainability in a large C++ blockchain repository.

The contribution required understanding of not only the test framework, but also the broader architecture of a mature blockchain codebase: legacy modules, newer library-oriented components, production-code dependencies, CI behavior, and repository workflow.

The Challenge: Test Migration Inside a Mature Blockchain Codebase

The project started with a clear technical goal: migrate selected legacy tests from the older Beast framework to gtest.

However, the migration quickly proved to be more than a mechanical rewrite.

The XRPL repository contained two parallel test areas: older tests in the legacy framework and newer tests built around gtest. The codebase also had multiple modules, including areas tied to older node implementation patterns and newer library-oriented architecture.

That created several challenges:

  • some legacy tests depended on older production-code modules;
  • moving tests without understanding these dependencies could require changes to production code;
  • the repository was actively developed, so migrated tests had to be continuously synchronized with upstream changes;
  • CI checks could fail intermittently and then pass again without code changes;
  • new compiler and static-analysis checks exposed issues that legacy tests had not surfaced;
  • code review discussions had to be managed carefully so migration pull requests did not expand indefinitely.

This made the project a custom blockchain development and protocol engineering challenge, not just a test migration task.

Why This Required Protocol Engineering Judgment

In blockchain infrastructure, tests are not isolated from architecture. They often encode assumptions about consensus behavior, peer discovery, ledger state, networking, data structures, and node operation.

For XRPL, Neti had to understand which tests could be safely migrated and which tests were too tightly coupled to older production modules. Some priority areas depended on legacy implementation details. Migrating them directly would have required production-code changes, which would have increased risk and expanded the scope.

Instead of forcing the migration, Neti helped identify a safer path: prioritize tests that could be migrated without touching sensitive production logic, while leaving deeper architectural dependencies for separate technical decisions.

That distinction mattered. A careless migration could have produced cleaner-looking test folders while creating unnecessary risk in the core blockchain codebase.

What Neti Contributed

1. Legacy Test Migration to gtest

Neti migrated selected legacy tests from the older Beast framework to gtest.

The work included:

  • analyzing existing test structure,
  • identifying migration-safe modules,
  • rewriting selected tests in the new framework,
  • synchronizing migrated tests with ongoing upstream changes,
  • keeping pull requests focused and reviewable,
  • working through maintainer feedback,
  • maintaining compatibility with the evolving develop branch.

Several pull requests were merged into the upstream XRPL codebase, showing that the migrated work met the project’s review and integration standards.

2. Dependency Analysis Across Old and New Architecture

During the migration, Neti identified that some legacy tests relied on older production modules connected to the existing node implementation.

This was an important architectural finding. It showed that not every test could be moved safely without understanding the boundary between older daemon-based code and newer library-oriented components.

Neti proposed a comprehensive migration strategy focused on minimizing code modification risks. This approach clearly defined which migration areas were immediately safe and which required broader production-code refactoring before test migration could continue responsibly. This methodology was fully accepted and highly valued by the core team.

3. CI and Repository Reliability Investigation

Working inside an active public repository required close interaction with the project’s continuous integration process.

During the work, Neti identified cases where tests could fail intermittently and then pass again without code changes. This pointed to reliability issues in the CI/test execution process.

Neti investigated this behavior and contributed to the discussion around making CI more stable and predictable for contributors and maintainers.

4. Hidden Issue Discovery During Migration

The move to gtest exposed issues that older test infrastructure had not surfaced clearly.

One example involved integer overflow behavior that became visible under newer compilation and checking conditions. Another issue involved static-analysis coverage, where certain file types were not being checked consistently.

These findings showed that test modernization can uncover more than missing coverage. It can reveal assumptions, blind spots, and long-standing behaviors that mature codebases accumulate over time.

5. Review Traceability Automation

Large repositories often accumulate valuable technical discussions inside pull request comments. Once a pull request is merged, unresolved ideas can become difficult to track.

To address this, Neti created automation that could collect pull request review discussions and convert them into structured issue-style summaries.

The goal was to preserve useful review feedback without allowing migration pull requests to grow beyond scope. This helped create a more maintainable process for capturing future improvement ideas while keeping current pull requests focused.

Results: From Test Migration to Codebase Modernization Support

Neti’s work helped move selected XRPL tests from a legacy framework toward a more modern and maintainable testing setup.

More importantly, the contribution created value beyond the migrated tests themselves.

Key Outcomes

Merged upstream contributions
Neti contributed pull requests that were accepted and merged into the public XRPL codebase.

Safer migration strategy
The team identified which test areas could be migrated safely and which depended on legacy production modules.

Improved understanding of architectural dependencies
The work clarified how legacy tests were coupled to older implementation layers.

CI and test reliability insights
Neti identified intermittent test behavior and helped investigate repository-level CI reliability.

Hidden issue discovery
Migration work exposed issues that older test infrastructure had not surfaced clearly, including compiler/checking and static-analysis coverage gaps.

Review process improvement
Neti created automation to preserve pull request review discussions as structured follow-up items, helping maintainers avoid losing useful feedback after merge.

What Protocol Teams Can Learn From This Contribution

Migrating tests in a blockchain codebase is not only a quality-engineering task. In mature protocol repositories, tests often reflect years of architectural decisions.

Before replacing a legacy test framework, teams need to understand:

  • which tests are isolated and safe to migrate;
  • which tests depend on old production modules;
  • where migration would require production-code refactoring;
  • how CI behaves under active development;
  • how review feedback should be captured without slowing down delivery;
  • whether new tooling exposes hidden assumptions or old defects.

For protocol teams, the lesson is clear: codebase modernization should be treated as blockchain protocol engineering, not just refactoring.

Why Neti Was a Good Fit

Neti’s contribution was not limited to rewriting test cases.

The team worked inside a large, public, actively developed blockchain repository and had to combine C++ engineering, architecture analysis, CI investigation, code review discipline, and contributor-process awareness.

That combination is critical for protocol teams that need external engineering support but cannot afford low-context contributors who require constant supervision.

Neti brought:

  • ability to work in complex C++ blockchain codebases,
  • understanding of protocol-level dependencies,
  • discipline around production-code risk,
  • experience with CI and repository workflows,
  • proactive engineering mindset,
  • ability to contribute through public review processes,
  • judgment to avoid expanding scope when deeper architecture decisions were needed.

Modernizing a blockchain protocol codebase?

If your protocol team needs help with C++ blockchain development, test migration, CI reliability, protocol tooling, or large-scale repository modernization, Neti can support you with senior engineers who can work inside complex codebases without requiring constant supervision.

Talk to Neti about protocol engineering support.


FAQs

Blockchain core development involves working on the underlying software that powers blockchain networks, including node software, consensus mechanisms, peer discovery, ledger state, networking, testing, tooling, and infrastructure.

Protocol engineering is the design, implementation, testing, and maintenance of core blockchain protocol components. It often involves low-level code, consensus assumptions, network behavior, test infrastructure, and long-term maintainability.

Test migration helps modernize legacy test suites, improve maintainability, support better tooling, and make it easier to increase coverage. In blockchain infrastructure, it must be done carefully because tests often depend on production code and protocol assumptions.

Neti contributed to selected modernization work in the public XRPL codebase. The work included legacy C++ test migration to gtest, dependency analysis, CI reliability investigation, merged upstream pull requests, and tooling ideas for preserving review feedback.

New test frameworks, compiler checks, and CI conditions can expose assumptions that older frameworks did not catch. During migration, teams may uncover overflow behavior, missing static-analysis coverage, flaky tests, or hidden dependencies.

A protocol team should involve external engineering support when the codebase is large, mature, and difficult to maintain, but the internal team needs additional capacity for modernization, testing, tooling, CI, infrastructure, or protocol-adjacent engineering work.