# Guide pas à pas — Verifiable Randomness & Cryptographic Time

> Distinguez la preuve du labo des éléments du déploiement. Les exercices locaux ECVRF, VDF et loterie sont gratuits. Dans [la vitrine de la loterie](https://lottery.modelmarket.dev/), identifiez l’environnement et examinez les preuves du tirage. UNI utilise une chaîne simulée. Une transaction Base se vérifie sur Base. Le mode LIVE documente une place gratuite acquise par le travail via `enterFromWork` ; les billets payants sont désactivés.

> **Public :** développeurs qui construisent sur l'écosystème AIMarket.  
> **Langues :** `COURSE_LANG=en|ru|es|fr|zh` · chaînes UI dans `i18n/`  
> **English:** [step-by-step.md](./step-by-step.md) · **Русский:** [step-by-step.ru.md](./step-by-step.ru.md) · **Español:** [step-by-step.es.md](./step-by-step.es.md) · **中文:** [step-by-step.zh.md](./step-by-step.zh.md)

---

## Pourquoi ce cours

Build and break biased lotteries — then verify proofs offline from 80 bytes.

Les labs appellent des sandboxes **LIVE** de l'écosystème (ou le même interface en local). Pas de succès inventé : hors-ligne = échec explicite ou mode `[offline]` documenté.

---

## Installation (10 minutes)

```bash
git clone https://github.com/alexar76/aimarket-courses.git
cd aimarket-courses/verifiable-randomness-course
pip install -e ".[dev]"
pytest -q
export COURSE_LANG=fr
python labs/lab01_platon_chaos.py
```

Colab : ouvrez le [site du cours](https://alexar76.github.io/aimarket-courses/verifiable-randomness-course/) → **Open in Colab**.

---

## Modules

| Module | Titre | Lab |
|--------|-------|-----|
| M1 | Chaos VRF with Platon | `lab01_platon_chaos` |
| M2 | VDF time with Chronos | `lab02_chronos_vdf` |
| M3 | ECVRF & Sortes | `lab03_sortes_ecvrf` |
| M4 | Time-lock RSW with Aestus | `lab04_aestus_timelock` |
| M5 | Commit–reveal & bias attacks | `lab05_commit_reveal` |
| M6 | On-chain verification | `lab06_onchain_consumer` |

---

## Parcours recommandé

1. Lisez le concept dans la docstring du lab.
2. Exécutez le lab (`COURSE_LANG=fr` optionnel).
3. Complétez les stubs `# YOUR CODE` dans `courselib/exercises.py`.
4. `python labs/run_exercises.py --certificate "Votre Nom"`.

---

## Certificat

Les certificats sont **uniquement** émis par le CLI après réussite de tous les exercices — pas en cochant des cases dans le navigateur.

---

## Suite

Retournez au [portail des académies](https://alexar76.github.io/aimarket-courses/) ou à l'[School](https://edu.modelmarket.dev/) pour le clip on-ramp.
