Divi Games

Courses / The side-chain

Replay: check it yourself

divi-gamechain replay re-executes every stored block from genesis and compares every state_root (and block hash) with what the node stored.

divi-gamechain replay

A mismatch means one of two things: the stored data was changed, or a module is not deterministic. Both are bugs you want to find.

A full audit

  1. Replay your copy of the chain from genesis.
  2. Take the (height, block_hash, state_root) from a DGCH anchor on Divi testnet (the txid comes from the system/anchor_recorded action).
  3. Confirm they match your replayed block at that height.

Because the transactions are signed by their senders, the operator cannot invent a transaction. Because the roots are chained, they cannot change an old one without every later root changing.

Storage layout

blocks(height, hash, header, sig, txids, events), txs(id, height, idx, body, sig, receipt), kv(key, value) and meta(key, value). A node refuses to open a store whose genesis or sequencer differs from its own. The data directory is never inside the git tree, and the sequencer key never prints or logs.