AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
₿itcoin Lottery는 비트코인 솔로 마이닝 복권으로, 비보관 티켓과 실시간 대시보드를 제공하며 10²³ 중 1개의 블록 확률을 가집니다
A real Bitcoin solo-mining lottery — a free, non-custodial ticket and a live dashboard. ~1 in 10²³ a block, but not zero.
개발 도구JavaScript · SwiftGitHub @spiralocean온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A real Bitcoin solo-mining lottery — a free, non-custodial ticket and a live dashboard. You almost certainly won't win a block, but it isn't zero.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
You almost certainly won't win. But it isn't zero — and zero is what you get if you never play.
A real Bitcoin solo-mining lottery. Your own node races the entire network for the block reward — every block, it builds the real block template, picks your one ticket, and submits a real block if it ever wins. The odds are astronomical (~1 in 10²³ per block), so realistically you never will. That's the point: a free, non-custodial lottery ticket, a way to actually learn how Bitcoin works, and a tiny, real, non-zero chance in a game that otherwise belongs to data centers.README 전문 보기 ↗You almost certainly won't win. But it isn't zero — and zero is what you get if you never play.
A real Bitcoin solo-mining lottery. Your own node races the entire network for the block reward — every block, it builds the real block template, picks your one ticket, and submits a real block if it ever wins. The odds are astronomical (~1 in 10²³ per block), so realistically you never will. That's the point: a free, non-custodial lottery ticket, a way to actually learn how Bitcoin works, and a tiny, real, non-zero chance in a game that otherwise belongs to data centers.
▶ Live demo: demo.getnotzero.com
| What you do | What you need | |
|---|---|---|
| Watch | Open the dashboard in any browser — real Bitcoin network data, a simulated ticket, the whole visualization. | Nothing. |
| Play (symbolic) | Run the miner in symbolic mode — your deterministic ticket each block, no node. | Python. |
| Mine for real | Run your own Bitcoin node + the miner. It builds the real coinbase, hashes the real header, and submits a real block if you win. | A pruned bitcoind (one-time sync) + your wallet address. |
Most people watch. The committed few mine for real. Both are honest about what they are.
Winning a block solo is roughly 1 in 10²³ per block. To put that in perspective:
You are far more likely to win the Powerball jackpot several times in a row than to win a single block this way.
You will, in all probability, never win. So why do it?
The dashboard is a single HTML5 canvas, no dependencies. It reflects your real node when one is connected, and runs a faithful demo when one isn't.
NEXT BLOCK — live countdown to the next block; counts up honestly when a block runs long.
YOUR CLOSENESS — an odds map plotting your attempts by leading-zero bits against the target. Winning is a thin sliver on the far left; your attempts cluster on the right. It's a brutally honest picture of the gap.
HASH BUILD — watch the real 80-byte block header get assembled field by field, concatenated, and double-SHA256'd into your block hash — then verified, byte-for-byte, against what your node actually submitted.
NETWORK — BTC price, network hashrate vs difficulty, next halving.
The reward ladder — new best (you beat your own record) → a lottery miner wins (detected on-chain via the coinbase tag) → you win (the full celebration). Each tier of "not zero" gets a moment.
When people hear "Bitcoin miner," two fears come up: a machine screaming at 100% with a huge power bill, or malware quietly hijacking your computer to mine for someone else. This is neither — and you don't have to take my word for it, because the code is open.
The one real cost is bitcoind's first blockchain sync (bandwidth + time, one time) — pruning keeps the disk footprint small. After that it's a quiet background hum, not a furnace.
notzero is built for non-technical users (it can set up a private pruned node for you), but if you already run bitcoind and want to point it at your own node, here's the complete RPC surface. It's a read-only client except for one call that only fires on a win:
getblocktemplate, getblockchaininfo, getblockcount, getblockhash, getblock, getrawtransaction, getpeerinfo, getnodeaddresses, getnettotals. None change node state.submitblock — only if a ticket beats the target (~1 in 10²³ per block). Submitting a valid block is what a node is for; it can't corrupt anything.bitcoin.conf, add peers, open ports, or touch your mempool or chainstate. One RPC connection; getblocktemplate once per block (bitcoind caches templates).getblocktemplate is read-only and shared, so it runs cleanly alongside your own mining, wallet, or Lightning tooling — it builds a different candidate block (its own coinbase/payout) and never competes for your work.getblocktemplate + submitblock + the reads above (e.g. via rpcwhitelist). Cookie auth works too — leave user/pass blank.Walk away and the worst case is: it pulls a template every ~10 minutes and hashes it once. Nothing to clean up. Every call is in lottery_miner.py and scripts/node_bridge.py — read them.
web/ the dashboard — vanilla JS + HTML5 canvas, zero dependencies.
reads ./node.json (your local node, same-origin) + mempool.space.
lottery_miner.py the solo miner daemon — getblocktemplate → build coinbase → hash → submitblock.
scripts/node_bridge.py publishes your node's status to web/node.json for the dashboard (no external calls).
app/ native macOS settings + node/daemon manager (Windows & Linux managers planned).
tests/ deterministic snapshot tests for the animated canvas (Playwright).
A few things I cared about while building it:
bits → target, BIP-34 coinbase height, the merkle root, and bech32 / bech32m address validation (BIP-173 / BIP-350, including taproot).submitblock RPC and a direct P2P broadcast to public nodes — with a background worker hammering both (RPC backoff + periodic P2P re-push) and confirming via a public explorer until it lands, resuming even after a crash/restart. No manual step in the ~10-minute window. The published node.json leaks no peer IPs or hostname; credential files are 0600.prefers-reduced-motion, colorblind-safe shape cues, pauses rendering on a hidden tab.Just the dashboard (demo):
cd web && python3 -m http.server 8787 # → open http://localhost:8787
Mine for real: install a pruned bitcoind, point the miner at its RPC, and set your payout address.
cp config.default.json ~/Library/Application\ Support/BitcoinLottery/config.json # then edit it
python3 scripts/node_bridge.py # publishes web/node.json for the dashboard
python3 lottery_miner.py --daemon # the solo miner
The first node sync downloads the full chain (hundreds of GB of bandwidth) while pruning keeps disk small — it takes a while. That's the "earn your node" part of the story.
Tests: npm install && npm test (Playwright snapshot suite).
Released under the MIT License — free to use, modify, and run.