Grant Application - hanh - Maintenance and Improvements to Coin Voting

12 Likes

@hanh ZCG has voted to approve this proposal async. The vote will be memorialized in the next ZCG meeting minutes. Congratulations!

To keep the community informed, ZCG requests that you provide monthly updates via the forum in this thread.

Please check your forum inbox for a direct message from FPF with important next steps, including a link to the Milestone Payment Request Form and your unique validation code for submitting payment requests.

3 Likes

November 2025

Support and bug fixes for the Coinholder-Directed Retroactive Grants Program

  • Tools and documentation for the deployment of the Election Validators

Zcash Vote Server via Docker

  • Scale up the number of concurrent elections to support the CDRG

  • Switch to Rust Async for better concurrency and performance (specially server side)

  • Add progress bars to voting client

  • Fix issue with app synchronization

  • Bug fixes

7 Likes

Is there a list somewhere of all the polls that are performed via this coin voting system?

Hey I created a list on my recent retro application you can use here. Check under proof of completion section.

4 Likes

Thanks, cool info!

2 Likes

December 2025 Update - zcvlib: v0.2.0

Latest

@hhanh00 hhanh00 released this 1 minute ago

zcvlib-v0.2.0

0a4378b

0.2.0 (2025-12-26)

Features

Bug Fixes

  • add data/json column to elections table (#12) (6dd7e9b)
  • add domain column to questions table (#11) (05704bb)
  • add domain nullifier column to received notes table (#19) (ea81f5a)
  • domain hash (#25) (6c2eda0)
  • move domain hash out of public data since we cannot trust (#3) (8a28895)
3 Likes

January 2026 Update

zcv-setup: 0.1.0

0.1.0 (2026-01-24)

Features

  • setup: build docker image via github action (#58) (813ed18)
  • setup: build multi platform vote server docker image (#60) (178a768)
  • setup: config read/parse (#56) (82430b4)
  • setup: config read/parse (#57) (00c1aea)
  • setup: project template (#55) (bb2c743)
zcvlib: 0.3.0

0.3.0 (2026-01-24)

Features

Bug Fixes

  • fetch_ballot with callback instead of returning stream (#51) (3b5594a)
  • typo (#43) (3ae83e3)
  • use domain hash for db lookups instead of id (#45) (6580454)
3 Likes

0.4.0 (2026-02-19)

Features

Bug Fixes

Chores

5 Likes

March 2026 Update

Most noticeably, this update enpowers the Coin Directed Grant Program Q1 2026.

Changelog

0.5.0 (2026-03-15)

Features

Bug Fixes

Chores

0.5.1 (2026-03-19)

Bug Fixes

  • apphash should be saved to db and recovered at startup (#171) (7cc3570)

0.5.2 (2026-03-19)

Bug Fixes

  • should db commit in Commit and not FinalizeBlock (#174) (d76bae7)
3 Likes

Integration with PIR

Thanks to @ValarDragon

This allows the usage of any orchard note prior to the snapshot height, and therefore eliminates the need of the registration window.

A test election has been setup. Details will follow.

zcvlib: v0.6.0

Latest

@hhanh00 hhanh00 released this 7 minutes ago

zcvlib-v0.6.0

57edfb2

0.6.0 (2026-04-20)

Features

Bug Fixes

  • add a prefix v_ to every table (#130) (a141866)
  • add election schema version check (#179) (05fb632)
  • add nf proof (#193) (ab43f36)
  • apphash should be saved to db and recovered at startup (#171) (c0b1e6b)
  • avoid scanning blocks if they were scanned before (#134) (d5ee50e)
  • cmx witness update after scan_ballots (#190) (8012df0)
  • fetch & import in a db tx (#199) (782b46a)
  • integration with zkool (#197) (bbb2396)
  • notes spent after the snapshot should be usable (#198) (89a5c21)
  • only use orchard notes for voting (#188) (3180f95)
  • recover election state (domain, nf_root, cmx_tree) on hot restart (#180) (6b07e6b)
  • remove hash param from get_election (#149) (598adf0)
  • remove old dependency orchard/vote, migrate to orchard-vote (#203) (ab00437)
  • rename start β†’ lock (#154) (e98aa13)
  • should db commit in Commit and not FinalizeBlock (#174) (dfec1e9)
  • use full range nu7 (#153) (11c32f4)

Chores

2 Likes

This month was spent making updates to the creation, deployment, and monitoring.
Also, Zkool will support the coin voting from Zodl.

PS: The change log format has changed, and it’s a bit messy for now.

2 Likes

This month was spent working on integrating the new coin voting mechanism with the PIR server.

1 Like

This month was spent on integrating the Ironwood protocol and the ZSA protocol, bringing Zkool 6.25.1 to support both chains.

3 Likes