A super-simple Flask poll app. Users can vote in one click—no Bitcoin wallet or signatures needed. Votes are stored as hashed files and (optionally) timestamped via OpenTimestamps.
- Create and activate a Python venv (recommended)
- Install deps
- Start the server
# from the repo root
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirement.txt
export FLASK_APP=app.py
export SECRET_KEY="change-me"
flask run --port 5000- MVP enforces one vote per browser using a cookie for 30 days.
- Each vote is written to
votes/<sha256>.txtwith the choice, timestamp, and client IP. - If the
otsCLI is available, the file is timestamped (failure is non-fatal).
Optional: Install OpenTimestamps CLI
pip install opentimestamps-client
# or OS package if available- Stronger uniqueness: email/OTP, OAuth, or allow privacy-preserving proofs.
- Rate limits and basic bot protection.
- Admin page to reset poll / export results CSV.
- Server-side session store or signed tokens for integrity.