尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Bitcoin game with Lightning payments and a Nostr leaderboard.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Arcade game: fly a Bitcoin through candlestick obstacles.
Next.js 15, TypeScript, Tailwind CSS, Canvas, Strike, Nostr.
npm install
npm run dev
Create .env.local:
STRIKE_API_KEY=
STRIKE_API_URL=https://api.strike.me
RANKED_TOKEN_SECRET=
HOLD_BTC_NSEC=
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
BANNED_PUBKEYS=
HOLD_BTC_NSEC is a dedicated key used only to sign paid scores. It is not a player account.
UPSTASH_REDIS_REST_URL / UPSTASH_REDIS_REST_TOKEN point at the Redis that enforces one payment, one ranked run. With the Vercel KV / Upstash integration, KV_REST_API_URL / KV_REST_API_TOKEN work instead. They are required on Vercel and in production (next start), where the server throws if neither pair is set; next dev falls back to an in-process Map.
BANNED_PUBKEYS is an optional comma-separated list of 64-char hex pubkeys (not npub). A listed key is hidden from Global Rank and cannot buy a ranked run, submit a score, or share a note. Entries that are not hex are ignored with a warning in the logs. When the variable is empty, the list in lib/security/blockList.ts is used instead. On Vercel, a changed value takes effect on the next deployment: use Redeploy, no code change needed.
Per-IP rate limits read only the x-vercel-forwarded-for header that Vercel sets. Off Vercel (including next dev) it is missing, so all clients share one limit.
Free runs stay off the board.
app/ pages and API
components/ UI and canvas
hooks/ Nostr and payment state
lib/game/ physics, replay, render
lib/nostr/ relays and site publish
lib/payments/ Strike
lib/security/ tokens and rate limits
MIT