This project is written to track down most actions done on AIOZ blockchain: blocks, transactions, messages, events,... , enhanced by Cockroachdb.
There are 3 services need to be run:
- Cockroachdb cluster (for dev, 1 node is enough)
- GoB node, which is AIOZ node with GoB implemented inside, used to index data
- Light Client Daemon (LCD) server: serve blockchain services like broadcasting transactions
- Mind the user, password (in case of security enabled), host, port, database name, schema,...
- Check each table properties (index, primary key,...)
There are 2 binary that runs block replay:
- aiozreplay: for aiozd in general
- replay: for explorer's needs
- There are changes since v0.39.0 when you want to replay block:
- Previous version sets
_state.LastHeightValidatorsChanged = 1
- If
s.LastBlockHeight
causes a valset change, - We set
s.LastHeightValidatorsChanged = s.LastBlockHeight + 1 + 1
- Extra +1 due to nextValSet delay.
- In
replay/utils.go
, set_state.LastHeightValidatorsChanged = rollbackBlock1.Header.Height + 1 + 1
for GoB replay - In
/cmd/aiozreplay/utils.go
set_state.LastHeightValidatorsChanged = rollbackBlock1.Header.Height + 1 + 1
foraiozd
replay - Not yet testing on low block count with nothing changed in validators set