PolymarketClickHouse Workshops

00 Configuração

Prepare macOS ou WSL 2, crie o serviço ClickHouse Cloud e carregue um único arquivo de ambiente.

Seu computador
Terminal do macOS: Execute os comandos do workshop no Terminal usando zsh ou bash.

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 --version

Etapa 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.polymarket

A 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 --version

local 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 list

Uma 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 15

Salve 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 +a

Confirme 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.sh

Esperado:

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

No modo fixture, em uma rede que bloqueia o Polymarket, a última linha será:

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

Se apenas a verificação da API do Polymarket falhar, use a alternativa fixture em Solução de problemas.

Concluído quando

  • clickhouse client --version funcionar;
  • clickhousectl cloud service get <service-id> indicar que o serviço está pronto;
  • printf mostrar host/banco/modo esperados; e
  • ./preflight.sh imprimir READY.

Próximo: descobrir os mercados que você observará.

Nesta página

Acompanhar seu progresso?

Opcional. Enviaremos um link por e-mail para confirmar seu endereço; o progresso será registrado depois que você o abrir.

Use seu e-mail corporativo, não um endereço pessoal.

O acompanhamento do progresso também exige a aceitação dos Termos de Serviço atuais nas Configurações de privacidade.

PT