Skip to content

slave node design#148

Open
syntrust wants to merge 3 commits into
mainfrom
dl-goshard-slave
Open

slave node design#148
syntrust wants to merge 3 commits into
mainfrom
dl-goshard-slave

Conversation

@syntrust

Copy link
Copy Markdown
Collaborator

Comment thread L1/slave-node-bootstrap.md Outdated
Comment thread L1/slave-node-bootstrap.md
Comment thread L1/slave-node-bootstrap.md
facts geth's block format cannot hold yet:

```
GenesisMeta {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the GenesisMeta record (prev-root-block hash, xshard cursor, full shard id) is a temporary scaffold that exists only because geth's stock header has no home for these fields yet, the implementation should mark it as such explicitly — not just note it in this design doc.

Concretely, when implementing:

  • Tag the GenesisMeta struct, its rawdb accessors, and the Reconcile() path with a grep-able marker, e.g. // TODO: temporary — remove once QKC block format lands; these fields move into the genesis block's header/meta and Reconcile() should compare the genesis block itself.
  • Make the marker say plainly that once the block issue merges, this code is re-implemented, not patched: the fields are read from the genesis block's header/meta, and Reconcile() switches to the geth-native genesis-hash check (SetupGenesisBlock-style). The GenesisMeta record is then deleted, not migrated — at that stage the db only holds the genesis block, so --clean re-bootstrap suffices and no migration code is needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants