PolymarketClickHouse Workshops

00 ตั้งค่า

เตรียม macOS หรือ WSL 2 สร้างบริการ ClickHouse Cloud และโหลดไฟล์สภาพแวดล้อมหนึ่งไฟล์

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

เลือก macOS หรือ Windows ที่ส่วนหัวของหน้า คำสั่งของ Windows รันใน Ubuntu บน WSL 2 ไม่ใช่ PowerShell ยกเว้นกรณีที่หน้านั้นระบุ PowerShell อย่างชัดเจน

ผลลัพธ์

คุณมี Docker, Git, Python, clickhousectl, ClickHouse client, บริการ Cloud และ .env.polymarket ที่ source แล้ว preflight พิมพ์ READY

ขั้นที่ 1 — ตรวจสอบแล็ปท็อป

ติดตั้ง Docker Desktop for Mac แล้วรันใน Terminal:

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

ขั้นที่ 2 — Clone repository ของเวิร์กช็อป

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

การสลับ branch เป็นสิ่งจำเป็น: build-workshop-v1 คือ snapshot ของเวิร์กช็อปโปรดักชันฉบับสมบูรณ์

รันคำสั่งต่อ ๆ ไปจาก ClickHouse_Demos/workshop_public/polymarket

ขั้นที่ 3 — ติดตั้ง clickhousectl และ ClickHouse client

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

local use ติดตั้งเฉพาะไบนารีของ client เท่านั้น ไม่ได้เปิดเซิร์ฟเวอร์ ฐานข้อมูล ทุกคิวรีชี้ไปที่ ClickHouse Cloud

ขั้นที่ 4 — ยืนยันตัวตนและสร้างบริการ Cloud

การอบรมแบบพบตัว: ใช้ organization API key ที่เจาะจงต่อผู้เรียนซึ่งผู้สอนส่งให้ อย่างปลอดภัย

การล็อกอินแบบ interactive จะไม่ทิ้ง secret ไว้ในประวัติเชลล์:

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

ระบบอัตโนมัติที่เชื่อถือได้ใช้รูปแบบระบุค่าตรง ๆ ได้:

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

สร้างบริการหนึ่งตัว เปลี่ยน region เฉพาะเมื่อผู้สอนระบุที่อื่น:

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

บันทึก service ID และรหัสผ่านของ default user ที่ให้ครั้งเดียวไว้ รอจนกว่าจะพร้อมใช้งาน:

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

ขั้นที่ 5 — กรอกและ source .env.polymarket

เปิดกล่องโต้ตอบ 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

ขั้นที่ 6 — รัน preflight

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

ผลที่ควรได้:

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

ในโหมด fixture บนเครือข่ายที่บล็อก Polymarket บรรทัดสุดท้ายจะเป็น:

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

หากมีเพียงการตรวจสอบ Polymarket API ที่ล้มเหลว ให้ใช้แผนสำรอง fixture ใน การแก้ปัญหา

ถือว่าเสร็จเมื่อ

  • 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.

TH