PolymarketClickHouse Workshops

00 Setup

macOS 또는 WSL 2를 준비하고, ClickHouse Cloud 서비스를 만들고, 하나의 환경 파일을 로드합니다.

Your computer
macOS terminal: Run workshop commands in Terminal using zsh or bash.

페이지 헤더에서 macOS 또는 Windows를 선택하세요. Windows 명령은 PowerShell이 아니라 WSL 2의 Ubuntu에서 실행하며, 페이지가 명시적으로 PowerShell이라고 말한 경우만 예외입니다.

결과

Docker, Git, Python, clickhousectl, ClickHouse 클라이언트, Cloud 서비스, 그리고 source된 .env.polymarket을 갖추게 됩니다. preflight가 READY를 출력합니다.

Step 1 — 노트북 검증

Docker Desktop for Mac을 설치하세요. Terminal에서 실행합니다:

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

Step 2 — 워크샵 리포지토리 클론

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

브랜치 전환은 필수입니다. build-workshop-v1이 완전한 프로덕션 워크샵 스냅샷입니다.

이후 명령은 ClickHouse_Demos/workshop_public/polymarket에서 실행하세요.

Step 3 — clickhousectl과 ClickHouse 클라이언트 설치

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

local use는 클라이언트 바이너리만 설치합니다. 데이터베이스 서버를 실행하지 않으며, 모든 쿼리는 ClickHouse Cloud를 대상으로 합니다.

Step 4 — 인증 후 Cloud 서비스 생성

대면 교육: 트레이너가 안전하게 제공한 학습자 전용 조직 API 키를 사용하세요.

대화형 로그인은 시크릿을 셸 히스토리에서 제외합니다:

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

신뢰된 자동화에서는 명시적 형태를 쓸 수 있습니다:

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

서비스를 하나 만드세요. 리전은 트레이너가 다른 값을 지정한 경우에만 변경하세요:

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

서비스 ID와 일회성 default 사용자 비밀번호를 저장하세요. 준비될 때까지 기다립니다:

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

Step 5 — .env.polymarket 작성 후 source

서비스의 Connect 대화 상자를 여세요. 호스트 이름과 비밀번호를 그대로 .env.polymarket에 넣되, 호스트에 https://나 :8443은 포함하지 마세요.

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

셸이 비밀이 아닌 값들을 로드했는지 확인하세요:

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

예상 결과: Cloud 호스트 이름, polymarket, 그리고 live.

Step 6 — preflight 실행

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

예상 결과:

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

Polymarket을 차단하는 네트워크에서 픽스처 모드일 때는 마지막 줄이 대신 이렇게 나옵니다:

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

Polymarket API 검사만 실패한다면 Troubleshooting의 픽스처 폴백을 사용하세요.

완료 조건

  • clickhouse client --version이 성공한다;
  • clickhousectl cloud service get <service-id>가 서비스가 준비되었다고 보고한다;
  • printf가 예상한 host/database/mode를 표시한다; 그리고
  • ./preflight.sh가 READY를 출력한다.

다음: 관찰할 시장을 탐색합니다.

이 페이지의 내용

Track your progress?

Optional. We email a link to confirm your address; progress records once you open it.

Please use your work email address, not a personal one.

Progress tracking also requires accepting the current Terms of Service in Privacy settings.

KO