https://github.com/bh2smith/word-circles
https://github.com/bh2smith/word-circles
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bh2smith/word-circles
- Owner: bh2smith
- Created: 2026-05-20T17:15:27.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-27T07:59:56.000Z (about 2 months ago)
- Last Synced: 2026-05-27T09:25:56.700Z (about 2 months ago)
- Language: Rust
- Homepage: https://word-circles.vercel.app
- Size: 748 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Word Circles
A daily Wordle-style word game with on-chain commitments and PvP escrow on Gnosis chain.
## Architecture
- **Frontend** — Next.js app (Vercel)
- **Backend** — Rust/Axum API with Postgres persistence
- **Indexer** — [rindexer](https://github.com/joshstevens19/rindexer) sidecar polling Gnosis chain events into the shared Postgres
- **Contracts** — Solidity (Foundry), deployed on Gnosis
## Contracts (Gnosis Chain)
| Contract | Address | Gnosisscan |
| ----------------- | -------------------------------------------- | -------------------------------------------------------------------------------- |
| WordCirclesEscrow | `0x20a44c2C546FEBb4dcE773868B532D14663467A0` | [View](https://gnosisscan.io/address/0x20a44c2C546FEBb4dcE773868B532D14663467A0) |
| WordCircleStats | `0xB96413584d7a4e07cc8c238cC4baA3474C956CCF` | [View](https://gnosisscan.io/address/0xB96413584d7a4e07cc8c238cC4baA3474C956CCF) |
| WordCommitment | `0x6e99c40bd8b87290EB977336c4Be8b2106baB08f` | [View](https://gnosisscan.io/address/0x6e99c40bd8b87290EB977336c4Be8b2106baB08f) |
**Roles:**
- Owner: `0xB00b4C1e371DEe4F6F32072641430656D3F7c064`
- Resolver: `0x8ba11AdD9bB5B60028eff90A14f0AE20b429ce8F`
## Development
```bash
# Frontend
npm install && npm run dev
# Backend
cd backend && cargo run
# Contracts
forge build && forge test
```
## Deployment
```bash
# Import wallets (one-time)
cast wallet import deployer --interactive
cast wallet import resolver --interactive
# Deploy contracts to Gnosis
make deploy
```
See `deployment/` for DAppNode packaging, and **[RELEASE.md](RELEASE.md)** for the
frontend (Vercel) / backend (DAppNode) release flow — how the two stay decoupled,
the manual production-promote step, and turning on PvP without a redeploy.