Bitlight Labs Blog
RGB v0.12 Integration Testing: Progress Updates

RGB v0.12 Integration Testing: Progress Updates

Introduction

As contributors to the Bitcoin RGB ecosystem, BitlightLabs has been collaborating with Dr. Maxim to upgrade the rgb-tests (opens in a new tab) framework for compatibility with RGB v0.12. This post summarizes our progress, design principles, and critical updates during the migration.


RGB v0.11 Baseline Execution Summary

The v0.11 baseline tests (feat/rgb-v11-baseline-tests (opens in a new tab)) validated core functionalities, including asset issuance, transfers, and state consistency.

Test Results Overview

Test TypeTotalPassedFailedIgnored
issuance.rs202000
stress.rs6006
transfers.rs10188013
validation.rs6501
Total133113020

Key Insights

  • Success Rate: 85% (113/133 tests passed).
  • Core Stability: All issuance.rs tests passed, confirming stable asset issuance.
  • Ignored Tests:
    • Stress Tests: All 6 stress.rs tests were deferred for v0.12 evaluation.
    • Legacy Issues: 13 transfer-related tests (e.g., reorg_history::case_2, invoice_reuse::case_1) were flagged as v0.11-specific edge cases.

Critical Passed Tests

  • Asset lifecycle: mainnet_wlt_receiving_test_asset, check_fungible_history.
  • Transfer workflows: rbf_transfer, collaborative_transfer, transfer_loop (72 cases).
  • Validation: validate_consignment_chain_fail, validate_consignment_success.

RGB v0.12 Test Design Principles

To address v0.12’s breaking changes, we adopted:

  • Simplicity: Focus on essential integration tests (e.g., total value conservation in transfers).
  • Modularity: Decouple core tests from low-level abstractions to minimize future migration efforts.
  • Unit Test Gaps: Identify and supplement missing module-level tests in upstream RGB crates.

Key Updates (Feb 10–15 & Feb 17–21)

Phase 1: Infrastructure Overhaul (Feb 10–15)

  • ARM/MacOS Support: Enabled ARM compatibility and migrated to Bitlight’s optimized local-env Docker images.
  • Dependency Upgrades: Updated all submodules to RGB v0.12-compatible versions.
  • Framework Redesign: Restructured test architecture in to align with v0.12’s API changes (e.g., revised asset issuance logic).

Phase 2: Functional Testing (Feb 17–21)


Next Steps

  • Finalize stress-test modules for performance benchmarking.
  • Expand non-custodial scenario tests (key management, signature separation).
  • Collaborate upstream to resolve identified issues.

Repo Links

Follow our progress and contribute via GitHub! 🚀