--- title: "2025-09-22 Codex weekly" tags: - "codex-updates" date: 2025-09-15 lastmod: 2025-09-22 draft: false --- ## Week 38 September 2025 ### [Replace bittorrent in status-go](https://github.com/codex-storage/nim-codex/milestone/8) 1. [BlockExchange Performance and reliability](https://github.com/codex-storage/nim-codex/issues/974) - **achieved**: - Enhanced peer selection: Implemented multi-factor scoring algorithm considering peer load, exchange recency, success rate, and response time - Improved load balancing: Distributed block requests across multiple peers in blockPresenceHandler instead of sending all to announcing peer - Discovery engine optimization: Added peer count limits to prevent unbounded accumulation while maintaining redundancy, with least-active peer removal - Memory optimization: Reduced default fetch batch size, implemented chunked onBatch processing to prevent memory accumulation, and added buffer reuse to reduce GC allocation churn - **next**: - Continue memory consumption optimizations in block exchange pipeline - Investigate memory usage patterns in block batching and peer context management - Profile under concurrent load to identify presure points - **blockers**: 3. [Identify Swarm Participation Limits (DHT Scaling)](https://github.com/codex-storage/codex-research/issues/204) - **achieved:** - DHT scaling research [document](https://hackmd.io/@codex-storage/HkGRPTTYlg) reviewed. - **next:** - Refine the document and address the review comments. - Research existing DHT simulations and compare results. - **blockers:** 4. [Implement a Codex library so that clients can use Codex directly from their apps](https://github.com/codex-storage/nim-codex/issues/1220) - **achieved:** - Exposed core Codex APIs: version, revision, repo, peerId, spr, debug information. - Added ability to change log level. - Implemented peer connection support. - Exposed the upload feature with two ways: - Chunks: 4-step flow (init, upload chunk, complete, cancel) with pause/resume support. - Filepath: 3-step flow (init, upload, cancel). - **next:** - Extend Go wrapper API to allow cancellation of ongoing uploads. - Implement download feature. - **blockers:** 5. [Integration with status-go](https://github.com/codex-storage/nim-codex/issues/1304) - **achieved** - documented running running unit tests for status-go: [codex-docs-obsidian/pull/19](https://github.com/codex-storage/codex-docs-obsidian/pull/19) (direct link to the document: [Running Unit Tests for status-go](https://github.com/codex-storage/codex-docs-obsidian/blob/spec/codex-status-go-prototype/10%20Notes/Running%20Unit%20Tests%20for%20status-go.md)), - added a small convenience script to start a docker containiner running a waku node that is suitable for some of the unit tests: [status-go/pull/6930](https://github.com/status-im/status-go/pull/6930) (`_assets/scripts/run_waku.sh in`), - coding the actual integration - **next:** - have basic POC finished (without fixing all the relevant tests, but having things in place to confirm that POC is working) - **blockers:** ### [Research future work](https://github.com/codex-storage/nim-codex/milestone/9) 1. **Altruistic Mode** - **Document:** [Proposal for outsourcing local erasure coding](https://hackmd.io/SazdX1SqSs6hNjtc-3B2BQ) (especially interesting together with file bundling). Next: prototype implementation - **Document:** Updates to our [collection of the research questions/problems](https://hackmd.io/@codex-storage/rJeZeJC9gg) related to the altruistic mode. - **Document:** Consolidated understanding of [Swarm networking](https://hackmd.io/sHpB5N39QVqLSJV-k_-jLQ) and ongoing work with [Swarm Incentives](https://hackmd.io/aSkvCy-LT8GjjdOzTrrLfw). - Ongoing work in (re-)analysing Arweave, Sia, and Walrus based both on previous research done in the group (students and departed members), and more recent publications as we rebuild our knowledge on related approaches. ### Misc 1. **Testnet Decommission** - achieved: - Merged docs update: [90](https://github.com/codex-storage/codex-docs/pull/90) - next: - Example of docs page with support for multiple versions: [WIP](https://github.com/codex-storage/codex-docs/pull/91)