{"id":50499834,"url":"https://github.com/prof-faustus/bsv-poker","last_synced_at":"2026-06-02T11:00:25.358Z","repository":{"id":362026831,"uuid":"1256936043","full_name":"prof-faustus/bsv-poker","owner":"prof-faustus","description":"Dealerless, non-custodial multiplayer poker on Bitcoin SV (post-Genesis, regtest). Web + Windows desktop; real BSV node + bonded sub-sat channel; built from spec.","archived":false,"fork":false,"pushed_at":"2026-06-02T10:00:43.000Z","size":451,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-02T10:08:11.447Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prof-faustus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-02T08:03:02.000Z","updated_at":"2026-06-02T10:00:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/prof-faustus/bsv-poker","commit_stats":null,"previous_names":["prof-faustus/bsv-poker"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/prof-faustus/bsv-poker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prof-faustus%2Fbsv-poker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prof-faustus%2Fbsv-poker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prof-faustus%2Fbsv-poker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prof-faustus%2Fbsv-poker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prof-faustus","download_url":"https://codeload.github.com/prof-faustus/bsv-poker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prof-faustus%2Fbsv-poker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33818568,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-02T11:00:12.608Z","updated_at":"2026-06-02T11:00:25.349Z","avatar_url":"https://github.com/prof-faustus.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bsv-poker\n\n[![CI](https://github.com/prof-faustus/bsv-poker/actions/workflows/ci.yml/badge.svg)](https://github.com/prof-faustus/bsv-poker/actions/workflows/ci.yml)\n\nA dealerless, non-custodial multiplayer **poker** platform on **Bitcoin SV** (post-Genesis,\nregtest by default). Built to the specifications in [`/spec`](./spec):\n\n- `spec/bsv-poker-spec.md` — protocol / crypto / transaction core (the authoritative spec).\n- `spec/bsv-poker-app-architecture.md` — the application layer (desktop + web, multi-game).\n- `spec/bsv-poker-spec-redteam-01.md` — Red-Team Review 01 (applied).\n- `spec/BUILD-KICKOFF.md` — the build instruction this repository executes.\n\n## Non-negotiable rules (enforced, not aspirational)\n\n1. **BSV-only, post-Genesis.** No BTC. `OP_CHECKLOCKTIMEVERIFY`/`OP_CHECKSEQUENCEVERIFY`\n   are no-ops; all timing is at the **transaction level** (`nLockTime` + `nSequence`).\n2. **`OP_RETURN` is banned everywhere.** Every commitment is pushdata in a live script\n   (`\u003cdata\u003e OP_DROP`). `pnpm lint:opreturn` fails the build if opcode `0x6a` appears in any\n   locking/unlocking script. (core P11 / §6.5; HANDOVER §3.)\n3. **Zero fabrication.** Every vector/byte-size is generated by running code; `pnpm reproduce`\n   regenerates them all and exits non-zero on any mismatch.\n4. **Real-interpreter tests.** Script spends run through the real BSV Script interpreter with\n   Genesis rules; negative tests fail *inside* the interpreter.\n5. **Traceability is complete.** Every `REQ-*` maps to code and a passing test\n   (`pnpm trace`).\n6. **Engineering bar:** NASA NPR 7150.2 assurance + documented Power-of-Ten adaptation +\n   Microsoft SDL.\n\n## Download \u0026 run\n\n### Windows desktop (download the installer)\nGet the latest installer from **[Releases](https://github.com/prof-faustus/bsv-poker/releases/latest)**:\n- **`bsv-poker_0.1.0_x64-setup.exe`** (NSIS) — double-click, install, launch **bsv-poker** from the\n  Start menu. (`…_x64_en-US.msi` is the MSI alternative.)\n- Needs the Microsoft **WebView2** runtime (already on Windows 11). The app opens with a\n  **REGTEST — play money** banner and plays heads-up NL Hold'em vs a bot. Unsigned for now, so\n  SmartScreen may say \"unknown publisher\" → **More info → Run anyway**.\n\n### Web (container)\nThe web client is published to GHCR by [`publish-web.yml`](.github/workflows/publish-web.yml):\n```\ndocker run --rm -p 8080:80 ghcr.io/prof-faustus/bsv-poker-web:latest\n# open http://localhost:8080\n```\n\u003e First time only: GHCR makes new packages **private** by default. To allow anonymous `docker pull`,\n\u003e open **github.com/users/prof-faustus/packages/container/bsv-poker-web/settings → Change visibility\n\u003e → Public** (one click). Or build/run it yourself:\n\u003e ```\n\u003e docker build -f apps/client-web/Dockerfile -t bsv-poker-web . \u0026\u0026 docker run --rm -p 8080:80 bsv-poker-web\n\u003e ```\n\n## Toolchain\n\n- Node ≥ 24 (TypeScript runs directly via native type-stripping; `node --test` for tests).\n- pnpm 9 (workspace). Go ≥ 1.24 for `relay-go` / `indexer-go`. Rust/Tauri for the desktop\n  shell (later phase).\n\n## Commands\n\n| Command | What it does |\n|---|---|\n| `pnpm typecheck` | `tsc --strict --noEmit` across the workspace |\n| `pnpm test` | run all `node --test` suites |\n| `pnpm reproduce` | regenerate every committed vector; non-zero on mismatch (core §14.5) |\n| `pnpm lint:opreturn` | fail if `OP_RETURN` (0x6a) appears in any script (rule 2) |\n| `pnpm trace` | requirements → code → test traceability check (core §13.3) |\n| `pnpm ci` | the full CI pipeline (core §16, app §A14.2) |\n\n## Status\n\nSee [`spec/BUILD-STATUS.md`](./spec/BUILD-STATUS.md) for the honest per-phase build status\nand metrics. Built in phases (core §17): Phase 0 foundations → Phase 1 heads-up NL Hold'em.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprof-faustus%2Fbsv-poker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprof-faustus%2Fbsv-poker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprof-faustus%2Fbsv-poker/lists"}