Skip to content

Conversation

@hjeljeli32
Copy link
Contributor

Description of the changes:
This PR adds a Demo that illustrates the Leios voting and certification flow.
It includes helper scripts that invoke the existing Rust CLI implementation to generate inputs and results, along with a browser-based UI for visualization.

Purpose:
Provide an end-to-end visualization of the Leios voting and certification mechanisms.

Main components:

  • scripts/ — Bash scripts that call the Rust CLI to run the voting workflow.
  • templates/index.html — HTML structure for the demo interface.
  • static/app.js — Handles dynamic visualization of the CLI outputs.
  • static/styles.css — Provides layout and color styling for clarity.

Related issue:
Closes #564

Reviewers:
@ch1bo @bwbush
(Please let me know if you think others should also review this PR.)

@ch1bo
Copy link
Member

ch1bo commented Oct 29, 2025

Works and I got some good timing results :)
image

Copy link
Member

@ch1bo ch1bo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow works fine once set up. Further improvements are of course possible, but this is good stuff already!


## Workflow

The scripts are designed to be run from the `demo/` directory.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The scripts were a bit annoying to run for me:

  • I was using PATH to point to the binary at first (as required on line 9)
  • Then I learned that CLI needs to be set, which I did
  • Then I saw that scripts/.env_cli needs to exist
  • Which had me look at 00_set_cli.sh script, but that did not accept the binary in my ase

I would suggest to lower the specific requirements and just expec the leios_crypto_benchmarks on the PATH, or be explicit about needing CLI to be set.

FWIW I was using direnv and a nix-shell to get the binaries and python packages in place, but this is different for each user.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for the feedback, @ch1bo — and apologies for the confusion with the README setup instructions.
I reviewed the steps and have now created a PR that updates the README with corrected and simplified instructions for running the demo.

Because my laptop currently has limited disk space, I wasn’t able to use Nix for this setup — so I focused on making sure the demo can also be run easily without it.

Here’s the PR with the fixes:
👉 #606

@ch1bo ch1bo force-pushed the hjeljeli32/voting-demo branch from 49afc5a to 27dd526 Compare October 29, 2025 13:40
@ch1bo ch1bo merged commit d486f3e into main Oct 29, 2025
2 of 3 checks passed
@ch1bo ch1bo deleted the hjeljeli32/voting-demo branch October 29, 2025 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Showcase voting and certification primitives

3 participants