Week 36 August 2025

Replace bittorrent in status-go

  1. Enable hole punching with circuit relay v2

    • achieved:
      • investigated existing approaches to circuit relay and holepunching, including Waku’s implementation
    • next:
      • create a small example with codex nodes communicated over circuit relay
    • blockers:
  2. BlockExchange Performance and reliability

    • achieved:
      • reviewed issue and requirements
      • identified key areas to investigate (timeouts, retries, concurrency handling)
    • next:
      • read through all existing work and documentation related to BlockExchange
      • analyze current source code implementation
    • blockers:
  3. Identify Swarm Participation Limits (DHT Scaling)

    • achieved:
      • Drafted an initial approach for estimating the performance of core DHT operations. Reference.
      • Reviewed the codex-dht implementation and identified key parameters (e.g., message sizes, maintenance intervals, etc.) required for performance calculations.
      • Calculated the bandwidth requirements for routing table operations
    • next:
      • Calculate bandwidth requirements for core operations across different network sizes, data sets, and churn rates.
      • Explore additional scaling options and possible optimizations.
    • blockers:
  4. Implement a Codex library so that clients can use Codex directly from their apps

    • achieved:
      • Generated a C binding from a minimal Nim bare project
      • Consumed the C binding in a minimal Go project
      • Analyzed the nim-library-template and its integration with Chronos
      • Opened a PR to fix issues in the template
      • Started creating a Go binding to start a Codex node
    • next:
      • Clean up the Go binding foundations and request a review
      • Begin exposing REST API features, starting with debug
    • blockers:
  5. Integration with status-go

    • achieved
      • gained some insights into the relation between status-go, status-backend, and status-desktop to understand their corresponding dev environments (especially testing) and how they map to our effort of replacing bittorrent with codex (which bits and pieces do we need to get the work done)
      • Status desktop / status-go dev environment setup:
        • built status-go and status-desktop from sources (on Arch Linux)
    • next:
      • Status desktop / status-go dev environment setup:
        • checking building on macOS, so there are at least three different clients on different machines for manual testing
      • running functional tests (docker) for status-go
      • light documenting of the findings on the dev-env relevant to the codex-status-go integration
      • initial design/code for the prototype

Research future work

  1. DST Team sync

  2. Altruistic Mode

    • achieved:

    • next:

      • exploration of:
        • recent studies on (e.g. IPFS) network dynamics;
        • existing reputation systems;
        • tradeoffs of other storage systems (e.g Swarm).