Renterd-devkit — QA Testing Toolkit for Sia Storage Applications

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 LabsILE-Labs · GitHub | [email protected]

Hello, welcome.

See Grants Program: New Funding Guidelines and Requirements as it seems you have not fully reviewed this. renterd is no longer eligible for grant funding.

Thanks.

Hi @ILE_LABS, welcome to the Sia community! Checking back in on this proposal. As was stated above, renterd no longer qualifies for grant funding.

If you would like this proposal reviewed at the next Grants Committee meeting, please revise by Wed. May 20 at the latest. The docket for the meeting may become full before then, so tag me to review as soon as the revisions are complete.

Thanks for the clarification. We are completely updating our application to comply with the new April’s 2026 funding directives. We will be directing the project away from node-level daemons to deliver sia-sync-core(an open-source, cryptographic synchronization and differential sync engine built natively in Rust on top of sia-sdk-rs, directly targeting the high-priority small-file repacking and syncing use case).

We will have the fully revised proposal files uploaded here well before the upcoming Wednesday deadline.

IMO, given you are completely pivoting I would consider just making a new grant request.

@pcfreak30 @mecsbecs Thanks again for the feedback and clarification regarding the updated funding direction.

Our team has now officially posted the revised proposal here: Proposal Link.

We’ll be actively monitoring the thread and would greatly appreciate any additional feedback or review from the community. Thank you.