Orgchain v1.5: beats pay the holding, and test BTC moves down the tree

Each beat pays its 50 test BTC block reward to the holding being worked in, at
its SegWit (BIP-84) address. Send moves test BTC between active nodes of a
holding, signed by the sender's BIP-84 key, with the toy chain's 500-sat fee:
at most two coins in and one block reward out. Sends land like acts, and Beat
now mines a beat even when nothing is cued. A graduation moves each re-keyed
node's money to its new address with its inscription. Balances follow the
slider, the timeline lists every reward and send, and Inspect shows exact
amounts and the raw transaction. The sample passes some of yolopreneur's
rewards down its tree.

The engine's one local change: the toy chain also takes P2WPKH outputs and
SIGHASH_ALL P2WPKH spends (BIP-143), in src/adapters/chain.js. Super
Testnet's tests pass unchanged; tests/money.test.js covers the rest.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
This commit is contained in:
teahubxyzandClaude Opus 5.5 committed 2026-10-14 22:25:38 -07:00
1 parent aeb11d334f
commit 6d5806d45b
12 files changed
+590 -59

No files matched your search

+12 -4
View File
@@ -12,6 +12,13 @@ chain itself records who did what, and when.
- **Time.** A beat is a block. At the default tempo each act is its own beat; at 10, 30 or 60 seconds, acts are cued and
land together on the next beat; on manual they wait for *Beat now*. The slider and *Replay* show a holding as it
stood at any beat.
- **Money.** Each beat pays its 50 test BTC block reward to the holding being worked in, at the holding's SegWit
address (a closed holding, or one that predates lab keys, leaves it to the lab wallet). **Send** moves test BTC from
any active node to another in its holding, signed by the sender's BIP-84 key: at most two coins in, at most 50 test
BTC out, and the toy chain's fixed 500-sat fee. Sends land like acts, at once or cued, and *Beat now* mines a beat
even when nothing is cued. A graduation moves each re-keyed node's money to its new address along with its
inscription. Balances follow the slider, the timeline lists every beat's reward and every send, and Inspect has the
exact amounts and the raw transaction (`src/orgchain/money.js`). Inscription fees still come from the lab wallet.
- **One interpretation.** `src/orgchain/lineage.js` folds `lineage/v0` events into trees, and vets every act before
anything is signed. Events it rejects stay on the chain and show as rejected; they just don't change the tree.
- **Keys.** Each holding gets its own 24-word lab root, and every node has lineage's keys at its place in the tree
@@ -31,7 +38,7 @@ chain itself records who did what, and when.
BIP-380 checksums), and its leaves' private keys (OpenSSH, DKIM, WireGuard, PKCS#8, Headscale). Hidden again on
every selection; lab keys only.
Test coins and test keys only: a local chain, the lab wallet (the faucet that funds every key) and each holding's lab
Test coins and test keys only: a local chain, the lab wallet (the faucet that funds every key's acts) and each holding's lab
root, kept in this browser (`localStorage`, key `orgchain:lab:v1`). Nothing here is a real key; minting a real root is
the operator's call.
@@ -55,7 +62,7 @@ reused.
```
npm ci
npm test # engine, reducer and lab (node --test)
npm test # engine, reducer, lab and money (node --test)
npm run build # dist/ is the site; relative paths, so it works at any sub-path
npm run test:e2e # Playwright on vite preview; PW_CHANNEL=chrome uses installed Chrome
```
@@ -68,8 +75,9 @@ Deploy: copy `dist/` to `ventures/lineage/orgchain/` on `teahubxyz/time` `gh-pag
## Built on Super Testnet
The chain, wallet, inscriptions, metadata and index (`src/adapters`, `src/upstream`, with `src/storage.js` and
`src/miner.js`) are [Super Testnet](https://supertestnet.lol)'s, unchanged and with their tests
(`tests/adapters.test.js`). See `PROVENANCE.md` and `public/licenses/`. Lineage's key derivation and the claim and
`src/miner.js`) are [Super Testnet](https://supertestnet.lol)'s, with their tests (`tests/adapters.test.js`) and one
addition: the chain also moves native SegWit (P2WPKH) payments, BIP-143 signatures included (`tests/money.test.js`).
See `PROVENANCE.md` and `public/licenses/`. Lineage's key derivation and the claim and
countersign handoff (`src/adapters/lineage-keys.js`, `src/adapters/handoff.js`, with their spec vectors in
`tests/keys.test.js`) come from the `tree` branch. The full lab (explorer, delegates, recursion and
the Inscriboor extension) lives at supertestnet.lol.