Week 36 August 2025
Replace bittorrent in status-go
-
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:
- achieved:
-
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:
- achieved:
-
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:
- achieved:
-
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:
- achieved:
-
- 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
- Status desktop / status-go dev environment setup:
- achieved
Research future work
-
- achieved:
- next:
- online design session, reviewing codebases
-
Altruistic Mode
-
achieved:
- Document: The Assumptions of Durability under Altruism, an attempt to clarify the differences and similarities for system dynamics and storage guarantees under altruism.
- Document: Considerations on “Low Durability”, an attempt to understand what the “low durability” mode proposed during our working groupathon actually achieves.
-
next:
- exploration of:
- recent studies on (e.g. IPFS) network dynamics;
- existing reputation systems;
- tradeoffs of other storage systems (e.g Swarm).
- exploration of:
-