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:
1 parent
aeb11d334f
commit
6d5806d45b
12 files changed
+590
-59
No files matched your search
@@ -6,11 +6,14 @@ Orgchain is lineage's app for creating and operating lineage holdings on Super T
|
||||
- Lineage semantics live in one place, `src/orgchain/lineage.js`. The UI never interprets events itself, and every act
|
||||
is vetted by that reducer before it is signed. A new op means a reducer change, its tests and the README's table.
|
||||
- The engine (`src/adapters`, `src/upstream`, `src/storage.js`, `src/miner.js`) is Super Testnet's. Compose with it
|
||||
rather than rewriting it, and keep its tests passing. Preserve upstream licenses and provenance.
|
||||
rather than rewriting it, and keep its tests passing. Preserve upstream licenses and provenance. Its one local
|
||||
change is P2WPKH payments in `src/adapters/chain.js` (PROVENANCE.md); keep it small and tested.
|
||||
- Money lives in `src/orgchain/money.js`: beats pay the holding being worked in, and sends stay inside a holding and
|
||||
spend SegWit coins only, so an inscription can never leave as change. Balances are read off the chain, never stored.
|
||||
- Keys follow the tree (`src/orgchain/keys.js`): store roots only (one per holding, one per graduated org) and derive
|
||||
every other key from its position. Every act is signed by whichever key holds the authorizing inscription.
|
||||
- A node's chain key is its account's BIP-86 Taproot key (`m/86'/1'/account'/0/0`); SegWit is BIP-84 at the same
|
||||
account. Leaves are HKDF-SHA256 (salt `lineage/v0`) and must stay byte for byte with lineage's key tree page;
|
||||
account and holds its money. Leaves are HKDF-SHA256 (salt `lineage/v0`) and must stay byte for byte with lineage's key tree page;
|
||||
`tests/keys.test.js` holds values read off that page.
|
||||
- Secrets show only behind Reveal, reset on every selection, and match the key tree page byte for byte (the tests pin
|
||||
hashes of the page's own output).
|
||||
|
||||
Reference in new issue
Block a user