PolymarketClickHouse Workshops

00 Configuration

Préparez macOS ou WSL 2, créez le service ClickHouse Cloud et chargez un seul fichier d'environnement.

Votre ordinateur
Terminal macOS : Exécutez les commandes de l’atelier dans le Terminal avec zsh ou bash.

Choisissez macOS ou Windows dans l'en-tête. Sous Windows, les commandes s'exécutent dans Ubuntu sur WSL 2, pas dans PowerShell, sauf indication explicite.

Résultat

Vous disposez de Docker, Git, Python, clickhousectl, du client ClickHouse, d'un service Cloud et d'un .env.polymarket chargé. Le preflight affiche READY.

Étape 1 — Vérifier l'ordinateur

Installez Docker Desktop pour Mac. Dans Terminal, exécutez :

docker version
docker compose version
git --version
python3 --version

Étape 2 — Cloner le dépôt de l'atelier

git clone https://github.com/ClickHouse/ClickHouse_Demos.git
cd ClickHouse_Demos
git switch build-workshop-v1
cd "$(git rev-parse --show-toplevel)/workshop_public/polymarket"
cp .env.polymarket.example .env.polymarket

Le changement de branche est obligatoire : build-workshop-v1 est l'instantané complet de production.

Exécutez la suite depuis ClickHouse_Demos/workshop_public/polymarket.

Étape 3 — Installer clickhousectl et le client ClickHouse

curl https://clickhouse.com/cli | sh
export PATH="$HOME/.local/bin:$PATH"
clickhousectl --version
clickhousectl local use stable
clickhouse client --version

local use installe uniquement le binaire client. Il ne lance aucun serveur de base de données ; toutes les requêtes ciblent ClickHouse Cloud.

Étape 4 — S'authentifier et créer le service Cloud

Formation en présentiel : utilisez la clé API de l'organisation propre au participant, transmise de façon sécurisée par le formateur.

La connexion interactive évite d'inscrire le secret dans l'historique du shell :

clickhousectl cloud auth login --interactive
clickhousectl cloud auth status
clickhousectl cloud org list

Une automatisation de confiance peut employer la forme explicite :

clickhousectl cloud auth login --api-key <key> --api-secret <secret>

Créez un service. Ne changez la région que sur instruction du formateur :

clickhousectl cloud service create \
  --name polymarket-workshop \
  --provider aws \
  --region ap-southeast-1 \
  --min-replica-memory-gb 8 \
  --max-replica-memory-gb 8 \
  --num-replicas 1 \
  --idle-scaling true \
  --idle-timeout-minutes 15

Enregistrez l'identifiant du service et le mot de passe à usage unique de l'utilisateur default. Attendez qu'il soit prêt :

clickhousectl cloud service list
clickhousectl cloud service get <service-id>

Étape 5 — Remplir et charger .env.polymarket

Ouvrez la boîte de dialogue Connect du service. Placez le hostname brut et le mot de passe dans .env.polymarket ; n'incluez ni https:// ni :8443 dans l'hôte.

${EDITOR:-vi} .env.polymarket
set -a; source ./.env.polymarket; set +a

Vérifiez que le shell a chargé les valeurs non secrètes :

printf 'host=%s database=%s mode=%s\n' \
  "$CLICKHOUSE_HOST" "$CLICKHOUSE_DATABASE" "$POLYMARKET_MODE"

Résultat attendu : le hostname Cloud, polymarket et live.

Étape 6 — Exécuter le preflight

chmod +x ./preflight.sh
./preflight.sh

Résultat attendu :

READY: Docker, ClickHouse Cloud, Gamma, Data API, and CLOB REST are reachable

En mode fixture sur un réseau qui bloque Polymarket, la dernière ligne devient :

READY: Docker and ClickHouse Cloud are reachable; fixture mode will supply data

Si seul le contrôle de l'API Polymarket échoue, utilisez le repli fixture du Dépannage.

Terminé lorsque

  • clickhouse client --version réussit ;
  • clickhousectl cloud service get <service-id> indique que le service est prêt ;
  • printf affiche l'hôte, la base et le mode attendus ; et
  • ./preflight.sh affiche READY.

Suite : découvrir les marchés à observer.

Sur cette page

Suivre votre progression ?

Facultatif. Nous envoyons un lien par e-mail pour confirmer votre adresse ; la progression est enregistrée après son ouverture.

Utilisez votre adresse e-mail professionnelle, et non une adresse personnelle.

Le suivi de la progression exige aussi d’accepter les Conditions d’utilisation actuelles dans les Paramètres de confidentialité.

FR