Retroactive Grant Application - ZecKit Post-M3 Stabilization and Developer Adoption Work

Project Summary

ZecKit is an open-source Zcash developer toolkit that helps developers run a local Zebra regtest environment and reusable CI workflow for testing Zcash application flows. This retroactive request covers completed post-M3 work that improved ZecKit’s documentation, installability, reliability, and maintainability.

Project Description

ZecKit is a developer tooling project built to make Zcash local testing and CI easier for builders working with Zebra regtest environments. The tool helps developers run repeatable regtest workflows, test application behavior, and reduce setup friction when working with Zcash development infrastructure.

After ZecKit’s Milestone 3 was reviewed, approved, and paid under the original ZCG grant, we completed additional work focused on documentation, onboarding, installation, stabilization, and maintenance. This included a dedicated documentation site, a demo video, a crates.io release, persistent background mining, custom chain bootstrapping, state snapshotting, improved local binary detection, and additional E2E verification.

The goal of this completed work was to make ZecKit easier for external developers to install, understand, run, customize, and maintain.

Technical Approach (how you did it)

The completed work improved ZecKit across documentation, packaging, runtime reliability, and test coverage.

Key work completed:

  • Published a dedicated documentation site for ZecKit.
  • Created a public documentation repository.
  • Recorded a demo video to support onboarding.
  • Published ZecKit on crates.io so developers can install it without manually cloning the repository.
  • Moved background mining into a dedicated lightweight Docker container, zebra-miner-loop, so mining continues after zeckit up exits.
  • Added --block-interval and --activation-heights flags to zeckit up.
  • Exposed block interval and activation-height configuration through action.yml.
  • Added dynamic startup configuration for zebra.toml and zebra-sync.toml.
  • Forwarded activation-height configuration to the Faucet container environment.
  • Added zeckit snapshot create/restore/list/delete commands.
  • Implemented snapshotting through a temporary Docker container running tar, reducing file-permission issues across Linux, WSL2, and macOS.
  • Improved binary detection by checking the workspace-wide Rust target path: target/release/zeckit.
  • Added E2E verification for custom block intervals.
  • Added E2E verification for snapshot restore behavior, including saving state, purging volumes, restoring the snapshot, and confirming block-height recovery.

Time Period of Work Completion

Q2–Q3 2026

Total Budget (USD)

$5,000

Budget Breakdown

Compensation:
$(USD): 5,000

Justification: Engineering, documentation, packaging, testing, and maintenance work completed by the team.

Technology/Software:
$(USD): 0

Justification: Open-source tooling was used.

Infrastructure/Hosting:
$(USD): 0

Justification: No paid production infrastructure is requested as part of this retroactive application.

Services/Contractors:
$(USD): 0

Justification: No external contractor or service cost is included.

Other:
$(USD): 0

Justification: No additional cost category is requested.
Total $(USD): 5,000

Previous Funding

Yes

Previous Funding Details

ZecKit previously received Zcash Community Grants funding for Milestones 1–3. Milestone 3 was reviewed, approved, and paid.

This retroactive request is different because it covers completed work that was not paid under Milestones 1–3, including documentation, installability, stabilization, snapshotting, persistent mining, and additional E2E verification.

This request does not ask for payment again for any work that was already paid under the original grant.

Other Funding Sources

No

Other Funding Sources Details

We have not received other funding for the completed work covered in this retroactive request.

Success Metrics

ZecKit’s post-M3 work created practical improvements for developers using the tool.

Completed value includes:

A dedicated documentation site for onboarding.
A public documentation repository.
A demo video showing usage.
A crates.io package for easier installation.
Persistent background mining so mining continues after zeckit up.
Custom block interval and activation-height support.
State snapshot create/restore/list/delete commands.
Improved compatibility across Linux, WSL2, and macOS for snapshot operations.
E2E verification for custom block intervals.
E2E verification for snapshot restore and block-height recovery.

These improvements make ZecKit easier to install, run, test, and maintain for developers working with Zcash tooling.

Proof of completion

  • Repository/Commit:

    • ZecKit Maintenance / Optimization PR - completed persistent background mining, custom chain bootstrapping, snapshot commands, improved binary detection, and E2E verification updates.
  • Publication:

    • ZecKit crate - published installable crate so developers can install ZecKit without cloning the repository.
  • Deployment/Release:

  • Other Evidence:

Conflict of Interest Disclosure

None