A hackathon-winning collaborative on-chain social strategy game built as a Telegram Mini App. Players grow a bubble through referrals, raid other players, and follow the result through a live game interface and indexed on-chain state.
This repository is a personal fork of the
BubbleWars2024/bubblewars
team project. My contributions covered the trusted AI runtime, ENS identity,
backend/user flows, referral integration, and front-end game behaviour.
Telegram Mini App
-> signed Telegram user payload
-> AWS Lambda API and DynamoDB state
-> embedded/player wallet
-> Bubble Wars + referral contracts
-> Pyth Entropy resolves raids
-> subgraphs index bubbles, referrals, and raid outcomes
Leaderboard state
-> attested AI runtime
-> short game commentary and action selection
| Path | Purpose |
|---|---|
frontend/ |
Canvas-based Telegram game client |
backend/ |
Lambda routes, Telegram verification, user state, ENS, referrals, and raids |
contracts/src/ |
Bubble Wars and Ethereum Referral Protocol contracts |
subgraph/ |
Indexed game and referral state |
ai/ |
Attested signing/AI experiments using Phala dstack and agent tooling |
frontend-erp/ |
Referral-program administration prototype |
- Verifies signed Telegram launch data before user-specific backend actions.
- Connects social growth mechanics to a reusable on-chain referral protocol.
- Uses callback-based verifiable randomness for asynchronous raid resolution.
- Separates contracts, indexed read models, server orchestration, and the game UI.
- Explores trusted-execution boundaries for AI-generated game actions and signing.
Bubble Wars is a hackathon-era team prototype, not a production financial or gaming service. Contracts are unaudited, deployment configuration is historical, and the repository vendors large Foundry dependencies. Production work would require contract review, replay/idempotency controls, structured observability, deployment separation, and a reproducible dependency strategy.
Secrets belong in deployment configuration, never in the browser or repository. Generated Lambda bundles are intentionally excluded from source control.
