00 Configuración
Prepara macOS o WSL 2, crea el servicio de ClickHouse Cloud y carga un único archivo de entorno.
Elige macOS o Windows en el encabezado. En Windows, los comandos se ejecutan en Ubuntu sobre WSL 2, no en PowerShell, salvo que la página indique explícitamente lo contrario.
Resultado
Tendrás Docker, Git, Python, clickhousectl, el cliente ClickHouse, un servicio Cloud y un
.env.polymarket cargado. El preflight imprimirá READY.
Paso 1 — Verificar el portátil
Instala Docker Desktop para Mac. Ejecuta en Terminal:
docker version
docker compose version
git --version
python3 --versionPaso 2 — Clonar el repositorio del taller
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.polymarketEl cambio de rama es obligatorio: build-workshop-v1 es la instantánea completa del taller en producción.
Ejecuta los siguientes comandos desde ClickHouse_Demos/workshop_public/polymarket.
Paso 3 — Instalar clickhousectl y el cliente ClickHouse
curl https://clickhouse.com/cli | sh
export PATH="$HOME/.local/bin:$PATH"
clickhousectl --version
clickhousectl local use stable
clickhouse client --versionlocal use instala únicamente el binario cliente. No inicia un servidor de base de datos; todas
las consultas apuntan a ClickHouse Cloud.
Paso 4 — Autenticarse y crear el servicio Cloud
Formación presencial: utiliza la clave de API de la organización específica del participante, proporcionada de forma segura por el instructor.
El inicio de sesión interactivo mantiene el secreto fuera del historial del shell:
clickhousectl cloud auth login --interactive
clickhousectl cloud auth status
clickhousectl cloud org listLa automatización de confianza puede usar la forma explícita:
clickhousectl cloud auth login --api-key <key> --api-secret <secret>Crea un servicio. Cambia la región solo si el instructor especifica otra:
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 15Guarda el identificador del servicio y la contraseña de un solo uso del usuario default. Espera a que esté listo:
clickhousectl cloud service list
clickhousectl cloud service get <service-id>Paso 5 — Rellenar y cargar .env.polymarket
Abre el diálogo Connect del servicio. Introduce el hostname sin adornos y la contraseña en
.env.polymarket; no incluyas https:// ni :8443 en el host.
${EDITOR:-vi} .env.polymarket
set -a; source ./.env.polymarket; set +aConfirma que el shell cargó los valores no secretos:
printf 'host=%s database=%s mode=%s\n' \
"$CLICKHOUSE_HOST" "$CLICKHOUSE_DATABASE" "$POLYMARKET_MODE"Resultado esperado: el hostname de Cloud, polymarket y live.
Paso 6 — Ejecutar el preflight
chmod +x ./preflight.sh
./preflight.shResultado esperado:
READY: Docker, ClickHouse Cloud, Gamma, Data API, and CLOB REST are reachableEn modo fixture, si la red bloquea Polymarket, la última línea será:
READY: Docker and ClickHouse Cloud are reachable; fixture mode will supply dataSi solo falla la comprobación de la API de Polymarket, utiliza la alternativa fixture indicada en Resolución de problemas.
Terminado cuando
clickhouse client --versionse ejecute correctamente;clickhousectl cloud service get <service-id>indique que el servicio está listo;printfmuestre el host, la base y el modo esperados; y./preflight.shimprimaREADY.
Siguiente: descubrir los mercados que vas a observar.