Project Name: renterd-devkit — QA Testing Toolkit for Sia Storage Applications
Applicant: ILE Labs
Duration: 3 months
License: MIT / Apache-2.0
Introduction
Describe your project
renterd-devkit is an open-source QA testing toolkit built on the Sia Go SDK that gives developers a reliable, reproducible way to test their Sia storage applications without depending on live network conditions.
Today, developers building on Sia must run full renterd nodes or connect to live networks just to run basic integration tests. This makes test pipelines slow, non-deterministic, and expensive. renterd-devkit solves this by providing:
-
A local renterd-compatible API server built on the Sia SDK — applications connect to it exactly as they would to a live renterd instance, no code changes required
-
A deterministic host and storage-state engine that simulates upload flows, contract lifecycle events, host scoring, failure scenarios (host dropout, contract expiry, sector corruption, wallet depletion), and repair workflows
-
A CLI and GitHub Actions harness so teams can run full Sia integration test suites in CI with zero live network dependency
$ renterd-devkit start
> Local Sia QA environment ready in 18 seconds
> renterd API: http://localhost:9980
> S3-compatible API: http://localhost:8080
> Simulated hosts: 12 (8 healthy, 2 degraded, 2 offline)
$ renterd-devkit test upload --file ./data.tar --redundancy 3x
> Shard 1 → host-04: OK
> Shard 2 → host-07: TIMEOUT (injected)
> Repair triggered → host-09 selected
> Upload verified: 3x redundancy confirmed
$ renterd-devkit simulate host-churn --drop 3
> Repair workflows triggered for 7 affected files
> All files restored to redundancy target
The primary credibility signal for this project is foc-devkit ( GitHub - ILE-Labs/foc-devkit: Open-source local development environment and FVM testing framework for Filecoin Onchain Cloud. Boots a local FVM environment with all four FOC mock contracts pre-deployed, provides a Jest-compatible TypeScript testing library with FOC-specific assertion helpers, a PieceCID v1-to-v2 migration CLI, and a Synapse SDK integration validator. · GitHub ) — a local FVM development environment and testing framework ILE Labs built for Filecoin that boots a complete local environment with mock contracts. renterd-devkit applies the same pattern to Sia’s renterd, using the Sia SDK as the integration layer.
Who benefits from your project?
Sia application developers — faster test cycles, reliable CI pipelines, no live network costs during development
SDK users — every team building on the Sia Go SDK gains a standard testing harness they can import instead of building custom mocks
The Sia ecosystem — higher quality Sia-based applications ship when developers can test edge cases (host churn, contract failures, redundancy loss) before deployment
How does this serve the Foundation’s mission of user-owned data?
renterd-devkit enables developers to build more reliable Sia storage applications, which directly strengthens the infrastructure that user-owned data depends on. When developers can reproduce and test failure scenarios locally before deployment, fewer production failures affect end users storing data on the Sia network.
Grant Specifics
Amount requested and justification
Total: $26,500 USD
| Category | Amount | Description |
|---|---|---|
| M1: SDK mock server | $9,000 | Go daemon implementing renterd JSON-RPC and S3-compatible routes using Sia SDK |
| M2: Host and storage simulator | $9,500 | Deterministic state engine, failure injection, repair simulation |
| M3: CLI, CI harness, documentation | $8,000 | Developer CLI, GitHub Actions templates, full docs and examples |
All payments are milestone-gated. No payment is released without delivery review.
Timeline with measurable objectives
Total duration: 3 months
Milestone 1 — Local renterd API Mock Server (Weeks 1–4) — $9,000
| Task | Deliverable |
|---|---|
| Implement renterd JSON-RPC endpoints using Sia Go SDK | Mock server covering contract management, file operations, host selection, wallet queries |
| Implement S3-compatible API layer | Applications connect without any code changes |
| API compatibility test suite | Automated tests validating mock matches renterd’s actual API spec |
Validation: Mock server starts in under 30 seconds. Passes renterd API compatibility suite. 15+ endpoint tests verified against official renterd API specification. Zero code changes required in a standard renterd client application.
Milestone 2 — Deterministic Storage and Host Simulator (Weeks 5–8) — $9,500
| Task | Deliverable |
|---|---|
| Upload/download simulation with configurable redundancy | File operations with n-of-m host selection |
| Host scoring and contract formation/renewal simulation | Deterministic lifecycle events |
| Failure injection engine | Host dropout, contract expiry, sector corruption, wallet depletion |
| Repair workflow simulation | Automatic redundancy recovery after host loss |
Validation: Upload with 3x redundancy completes deterministically. All 5 failure scenarios produce expected repair behavior. State fully resettable between test runs. Identical results on repeat runs with same inputs.
Milestone 3 — CLI, GitHub Actions Harness, and Documentation (Weeks 9–12) — $8,000
| Task | Deliverable |
|---|---|
| Developer CLI | renterd-devkit start, test, simulate, reset commands |
| GitHub Actions workflow templates | Drop-in CI templates for common Sia testing patterns |
| Complete documentation | Quickstart guide, API reference, 10+ example test scenarios |
| Open-source release | Published to GitHub under MIT/Apache-2.0 |
Validation: External developer starts local environment and runs upload simulation in under 5 minutes following README. CI template works without modification in standard GitHub Actions workflow.
Post-grant roadmap and sustainability
renterd-devkit will be maintained as a community resource for 12 months post-delivery. This includes:
-
SDK compatibility updates when Sia Go SDK releases breaking changes
-
Community contribution acceptance and review
-
Phase 2 scope: hostd simulation support, walletd integration, indexd compatibility testing layer
The indexd compatibility layer is explicitly targeted for Phase 2. As the Foundation moves further into indexd-based development, renterd-devkit’s testing infrastructure will expand to cover indexd workflows, ensuring the QA toolkit remains useful as the ecosystem evolves.
Technical Architecture
Three components, each independently usable:
1. Sia SDK Mock Server (Go) Lightweight local daemon implementing renterd’s JSON-RPC and S3-compatible routes through the Sia Go SDK. No live Sia network required. Applications connect identically to how they connect to live renterd.
2. Deterministic Storage-State Engine Simulation layer modelling Sia storage lifecycle: upload flows, redundancy logic, host scoring, contract formation/renewal, and failure injection. Deterministic by design — same inputs always produce same outputs, making test failures reproducible.
3. CLI and Testing Harness Developer CLI for environment control and failure injection. GitHub Actions templates for CI integration. Documentation with real-world test scenarios.
Security considerations:
-
No real SC or storage contracts — fully offline operation
-
No credentials stored — environment is stateless between runs
-
Rust memory safety where applicable; Go for SDK integration layer
-
Open-source: full codebase auditable by community
Development Information
Will all code be open-source? Yes. MIT / Apache-2.0 dual license.
Code location: github.com/ILE-Labs/renterd-devkit (to be created on grant approval)
Relevant prior work:
| Repo | Relevance |
|---|---|
| foc-devkit | Direct pattern match — local FVM environment and mock contract testing framework for Filecoin |
| stylus-debug-suite | Production Rust developer toolkit, live on crates.i o , 55+ downloads |
| mx-tx-simulator | Fixed 4 bugs in MultiversX official SDK — demonstrates protocol-level depth |
| solana-cpi-lens | TypeScript CLI for execution flow analysis against live protocol APIs |
Proof of concept: foc-devkit is the proof of concept. It demonstrates ILE Labs can design, implement, and ship a complete local blockchain development environment with mock contracts — the exact architecture renterd-devkit applies to Sia.
Monthly progress reports: Yes, following Foundation format with PR links per task.
Demo availability: Yes, available for demo at monthly community calls at Milestone 2 and Milestone 3 completion.
ILE Labs — ILE-Labs · GitHub | [email protected]