Project Information
- Project Name:
create-zcash-app - GitHub Application: ZcashCommunityGrants/zcashcommunitygrants#535
- Open-Source Repository: https://github.com/Anekenonso/create-zcash-app
- Applicant: Okenwa Kenneth Nonso (@Anekenonso on GitHub / @Symplyken on Forum)
- License: MIT (100% Permissive Open Source)
- Total Grant Request: $10,000 USD (Disbursed in ZEC across 3 milestones)
- Duration: 8 Weeks
1. Executive Summary & Problem
Building privacy-preserving client-side web applications on Zcash is historically fraught with friction for frontend and TypeScript developers. Without deep protocol engineering expertise, over 95% of web developers abandon Zcash integration due to three structural barriers:
- The WASM & Multi-Threading Isolation Wall: Halo 2 client-side proving requires Web Workers and
SharedArrayBuffer. Modern browsers crash or disable multi-threading unless strict HTTP headers (Cross-Origin-Opener-Policy: same-originandCross-Origin-Embedder-Policy: require-corp) are configured properly. - The Historical Scan Trap: Naive client setups attempt to scan from genesis or older blocks, locking IndexedDB and the main UI thread in a 30+ minute loop before a developer can test their first interaction.
- Absence of Modern Scaffolding Tooling: While ecosystems like Ethereum and Solana thrive on one-command generators (
create-wagmi,create-solana-dapp), Zcash has lacked an official, zero-config CLI that scaffolds a working frontend with pre-wired RPC connections, Unified Address utilities, and shielded UI components.
create-zcash-app solves this by delivering an interactive, zero-config scaffolding CLI and client SDK that packages modern Zcash browser proving into an intuitive, one-command pipeline.
2. What Has Already Been Built (Phase 1 Baseline — 100% Complete)
Unlike speculative proposals, create-zcash-app already has an empirically verified, working monorepo at github.com/Anekenonso/create-zcash-app:
- Turnkey Multi-Threading: Automated
COOP/COEPpresets preventing browser worker crashes during Halo 2 proof generation. - Tip-Anchored Sync (< 3s): Ultra-fast synchronization anchored to recent checkpoint heights.
- Key Derivation & Halo 2 Prover: BIP-39 mnemonic generation, ZIP 32 Unified Address (UA) derivation, and client-side proof generation on Testnet.
- Empirical Benchmark Suite: 3 clean-room benchmark trials documenting setup times (Median: 53.74s, beating the industry 10-minute setup standard by 91%), failure injection suites, and load-bearing ablation tests in the repository’s
/evidencedirectory. - Working CLI Engine: Interactive CLI prototype (
packages/create-zcash-app) scaffolding Vite + React templates.
3. Scope of Grant Funding (Phase 2)
This grant will fund the transition of this working vertical slice into a fully productionized, ecosystem-wide tool:
- Global NPM Release: Formally publish and maintain
create-zcash-appon the public npm registry under automated semver releases and zero-vulnerability audit gates. - Multi-Framework Templates: Add a native Next.js 15 (App Router) template alongside the existing Vite + React template, featuring automated server/client boundary handling for WASM.
- Mainnet & Multi-RPC Failover: Extend client transport to Mainnet with an automated fallback pool across public
lightwalletdnodes to eliminate RPC downtime. - Headless React SDK & UI Kit: Provide reusable React hooks (
useZcashSync,useUnifiedAddress,useShieldedTransaction) and accessible Tailwind/shadcn components. - Interactive Playground & Documentation: Launch a hosted Vercel playground and comprehensive tutorial portal to onboard hackathon builders and teams into shielded Zcash development.
4. Milestone Schedule & Budget Breakdown
Total Budget: $10,000 USD (Equated in ZEC at time of disbursement)
Milestone 1: Production NPM Release & Next.js 15 Template
- Amount (USD): $3,500
- Expected Completion Date: 3 weeks from grant approval
- Deliverables:
- Official NPM Package: Formally publish
create-zcash-appto the public npm registry with zero security vulnerabilities (audit-ci). - Next.js 15 (App Router) Template: Production-ready template with automated WebAssembly chunking and
COOP/COEPserver headers configured innext.config.js. - Enhanced Interactive CLI: Interactive prompts for template selection (
--template nextjs|vite), package manager auto-detection (npm, pnpm, yarn, bun), and zero-config project setup. - Automated Cross-Platform CI: GitHub Actions test matrix validating CLI scaffolding and builds across Ubuntu, macOS, and Windows environments.
- Official NPM Package: Formally publish
Milestone 2: Mainnet Multi-RPC Failover & Headless React SDK
- Amount (USD): $3,500
- Expected Completion Date: 6 weeks from grant approval
- Deliverables:
- Mainnet & Testnet Support: Dynamic network switcher allowing developers to seamlessly build against Zcash Mainnet or Testnet.
- Multi-RPC Failover Pool: Resilient
lightwalletdconnection manager with latency monitoring and automatic failover to prevent single-point-of-failure outages. - Headless React Hooks SDK (
@create-zcash-app/react): Modular React hooks includinguseZcashSync,useUnifiedAddress, anduseShieldedTransaction. - Accessible UI Component Kit: Pre-built Tailwind/shadcn components (Unified Address QR codes with Orchard/Sapling badge tags, fee estimators, and transaction progress modals).
Milestone 3: Hosted Interactive Playground, Documentation & Community Launch
- Amount (USD): $3,000
- Expected Completion Date: 8 weeks from grant approval
- Deliverables:
- Hosted Interactive Demo Application: Production playground deployed on Vercel allowing any developer to test client-side key derivation, tip syncing, and testnet transactions directly in the browser.
- Comprehensive Developer Portal: Full documentation covering quickstart guides, architecture deep-dives, API references, and WASM troubleshooting.
- 10-Minute Video Tutorial: Step-by-step developer video walkthrough demonstrating scaffolding an app from scratch to broadcasting a live testnet shielded transaction.
- Community Release & Support: Active onboarding support on the Zcash Community Forum and Discord.
We welcome feedback, suggestions, and questions from the ZCG committee and the wider community!