Project · voting
holochain-ballot
- How you run it
- not recorded
- Holochain version
- 0.6.1-rc.2
- Activity
- maintained
- Checked
- 29 October 2026
What is holochain-ballot and what is it for?
holochain-ballot is an experimental voting app built on Holochain that handles elections, voter registration, ballots and a transparent tally. It exists for people who want to learn how a peer-to-peer vote works in practice, or to run a small group pilot where participants accept a public count and an identity tied to their agent keys.
holochain-ballot is an experimental voting project on Holochain. Its own documentation describes it as software for learning, demonstrations and controlled organisation or community pilots, and states that it is not intended for certified public or government elections. It ships scope and threat-model notes alongside the code so that the limits of that use are written down rather than implied.
The app covers the parts of a small election: an election with options, an optional list of who may take part, registration, one vote per participant, and a tally that is meant to be checked rather than trusted. The person who creates an election moves it through stages — draft, registration, voting, closed — and only that person can advance it. Rules such as one registration and one vote per participant per election are enforced in the app itself, and the tally records vote action hashes so a count can be recounted.
The quickest way to see it work is the terminal demo, which runs the app across several conductors at once and prints each step as four people create an election, register and vote. A separate browser dashboard shows the same run, and a small educational showcase interface introduces the same scenario. The repository README links the full documentation set, including the scope, threat model, eligibility and tally-audit notes.
How to get it
From the command line
- Clone https://github.com/ta10101/holochain-ballot and install the Node dependencies.
- Prepare either Docker or a local Nix environment with Holonix (nix develop).
- Build the package with npm run docker:build:happ, which writes workdir/holochain-ballot.happ and the voting DNA.
- Run the printed play-by-play demo with npm run demo:visible to watch four simulated participants create an election, register and vote; scripts/minimal-client.mjs performs the same create → register → vote → tally sequence for one client.
- Run the tests with npm run docker:test once the package exists.
Source: https://raw.githubusercontent.com/ta10101/holochain-ballot/main/README.md
Questions people ask
- Is holochain-ballot ready for official elections?
- No. The project describes itself as experimental software for learning, demos and controlled organisation or community pilots, and says it is not for certified public or government elections. It records that limitation in its own scope and threat-model notes. source
- Does it keep votes secret?
- The design in this repository is built around a transparent, checkable tally. On adding a secret-ballot DNA here, the repository records a current no-go decision until its stated criteria are met, and points to a separate sister project for that work. source
- What do I need to build and run it?
- Docker, or a local Nix setup with nix develop and Holonix. The package is built with npm run docker:build:happ, after which the demo and test commands can run. source
From 2 public sources, checked 23 September 2026.
Try holochain-ballot
- Code on GitHubOpen on GitHub ↗Last change 29 March 2026.
- Websiteholochain-ballot.vercel.app ↗
- ReleaseNo GitHub release recorded.
- The project's own files do not say how it is run.
Details & sources
- Source
- ta10101/holochain-ballot
Evidence
- Last change
- api.github.com/repos/ta10101/holochain-ballotlisted by a third party · seen since 20 October 2026 · github.repository@1
- Activity
- api.github.com/repos/ta10101/holochain-ballotlisted by a third party · seen since 20 October 2026 · liveness@1
Compatibility
- hdk
- 0.6.1-rc.2 · Cargo.lock @ 5c29743
- hdi
- 0.7.1-rc.2 · Cargo.lock @ 5c29743
- holochain-client
- 0.20.0 · package.json @ 5c29743
- happ.yaml
- present · workdir/happ.yaml @ 5c29743
- web-happ.yaml
- absent