Posting my ZCG grant application here for community review, as required. Feedback and criticism welcome.
GitHub application: Grant Application - Ironwood Sentinel · Issue #376 · ZcashCommunityGrants/zcashcommunitygrants · GitHub
I built a tool that tests whether Zcash infrastructure is actually ready for Ironwood not just “up”, but whether a server is really serving the Ironwood commitment tree, on the right consensus branch (37a5165b), at a version that meets the activation floor. It’s activation aware: before the NU6.3 height it reports “not applicable” rather than a false failure.
I ran it across the five public zec.rocks endpoints live through the July 28 activation. It caught the branch flip (5437f330 → 37a5165b) and the mainnet Ironwood pool two blocks into existence, with four notes in its tree. It also flagged that the old default endpoint mainnet.lightwalletd.com no longer resolves in DNS, though wallet configs still point to it. Before/after report with raw JSON is in the repo.
The grant extends this into the two layers above endpoints:
- A wallet behavioral suite - receive, spend, change, reorg, restore, and interrupted-migration recovery on regtest with the core test work merged upstream into librustzcash. I’ve claimed the open issue #2617 (running the shared ShieldedPoolTester suite with Ironwood as the active pool).
- A ZIP 318 migration linter - checks a wallet’s migration plan against the privacy recommendations: canonical denominations, residual caps, anchor-height buckets, and warnings on distinctive amounts that fingerprint users during the turnstile crossing.
$27,000, Security, 6 months startup $3k plus three $8k milestones. Full user stories, deliverables, and acceptance criteria are in the GitHub issue. If it isn’t funded, the tool stays open source and the endpoint monitor keeps running; funding changes the speed, not the direction.
@emersonian I scanned the zec.rocks endpoints through activation and they all crossed cleanly; since you maintain the readiness list by hand, I’d value your take on whether this is useful for keeping it current.
@zancas given the zaino/zingolib side of the migration and #2617, I’d welcome your feedback on the behavioral suite scope.
Happy to answer questions here. cc @ZcashGrants