00 Configuração
Prepare macOS ou WSL 2, crie o serviço ClickHouse Cloud e carregue um único arquivo de ambiente.
Escolha macOS ou Windows no cabeçalho. No Windows, os comandos rodam no Ubuntu sobre WSL 2, e não no PowerShell, salvo indicação explícita.
Resultado
Você terá Docker, Git, Python, clickhousectl, o cliente ClickHouse, um serviço Cloud e um
.env.polymarket carregado. O preflight imprimirá READY.
Etapa 1 — Verificar o notebook
Instale o Docker Desktop para Mac. Execute no Terminal:
docker version
docker compose version
git --version
python3 --versionEtapa 2 — Clonar o repositório do workshop
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.polymarketA troca de branch é obrigatória: build-workshop-v1 é o snapshot completo do workshop em produção.
Execute os próximos comandos em ClickHouse_Demos/workshop_public/polymarket.
Etapa 3 — Instalar clickhousectl e o 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 apenas o binário do cliente. Ele não inicia um servidor de banco de dados;
todas as consultas usam o ClickHouse Cloud.
Etapa 4 — Autenticar e criar o serviço Cloud
Treinamento presencial: use a chave da API da organização específica do participante, fornecida com segurança pelo instrutor.
O login interativo mantém o segredo fora do histórico do shell:
clickhousectl cloud auth login --interactive
clickhousectl cloud auth status
clickhousectl cloud org listUma automação confiável pode usar a forma explícita:
clickhousectl cloud auth login --api-key <key> --api-secret <secret>Crie um serviço. Mude a região somente se o instrutor indicar outra:
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 15Salve o ID do serviço e a senha de uso único do usuário default. Aguarde até ele ficar pronto:
clickhousectl cloud service list
clickhousectl cloud service get <service-id>Etapa 5 — Preencher e carregar .env.polymarket
Abra o diálogo Connect do serviço. Informe o hostname puro e a senha em .env.polymarket; não
inclua https:// nem :8443 no host.
${EDITOR:-vi} .env.polymarket
set -a; source ./.env.polymarket; set +aConfirme que o shell carregou os valores não secretos:
printf 'host=%s database=%s mode=%s\n' \
"$CLICKHOUSE_HOST" "$CLICKHOUSE_DATABASE" "$POLYMARKET_MODE"Esperado: o hostname do Cloud, polymarket e live.
Etapa 6 — Executar o preflight
chmod +x ./preflight.sh
./preflight.shEsperado:
READY: Docker, ClickHouse Cloud, Gamma, Data API, and CLOB REST are reachableNo modo fixture, em uma rede que bloqueia o Polymarket, a última linha será:
READY: Docker and ClickHouse Cloud are reachable; fixture mode will supply dataSe apenas a verificação da API do Polymarket falhar, use a alternativa fixture em Solução de problemas.
Concluído quando
clickhouse client --versionfuncionar;clickhousectl cloud service get <service-id>indicar que o serviço está pronto;printfmostrar host/banco/modo esperados; e./preflight.shimprimirREADY.
Próximo: descobrir os mercados que você observará.