Stream blocks from genesis through the SwiftSync accumulator in a Web Worker — add every created output, subtract every spent input. The residual at the end is the UTXO-set commitment; matching an independently-computed value validates the whole range's set-consistency holding only 32 bytes. ← the acts · running node →
validate genesis → height
(needs node tools/block-server.mjs + bitcoind)
Verified commitments (independent, from tools/fullchain-node.mjs / tools/swiftsync-commit.mjs):
genesis→30000 = defbb676…; the full snapshot @141574 = af37b01d…. genesis→30000 is the
early chain (~166 MB) and runs in the tab in minutes; the full genesis→tip is the same logic but ~GBs of witness
data — stripping witnesses (not needed for the accumulator) makes it browser-quick, the noted next step.