Conversation
DBDirName and ParseDBDirName make the shard-0x{full_shard_id} naming
convention a single point of truth: boot builds paths through it and the
inspect subcommand parses directory listings back through it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
slave inspect --datadir <d> is read-only and config-free: it scans for
shard-0x{full_shard_id}/ chaindb directories, opens each in pebble
read-only mode, and prints the stored genesis metadata record and chain
head. A shard that cannot be opened or read is reported inline without
aborting the remaining shards, with a non-zero exit if any failed. An
absent metadata record is reported as an interrupted bootstrap rather
than an error, since the next boot re-runs the fresh path.
The README gains the inspect section and a fixtures section covering
provenance and the pyquarkchain cross-validation command.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
goleak now wraps both boot/shutdown smoke-test packages. The ignore list is empty on purpose: with metrics disabled neither geth nor pebble leaves a background goroutine behind after Stop(), and keeping it empty means the real chain's background work is heard here the day it lands. A new subprocess test initializes a datadir from the mainnet config and reruns the slave against it with the devnet config, asserting the run exits 1 and names the stored genesis, the config-derived genesis, the db path, and 'cluster config changed since initialization'. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…mmand Running the pyquarkchain cross-validation snippet with a bare system python fails at import time (no aiohttp); it needs a virtualenv with pyquarkchain's requirements installed. Both READMEs carrying the command now say so. Verified against both networks: the venv run reproduces the pinned mainnet 4036783e... and devnet 5ad443ef... hashes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
syntrust
marked this pull request as ready for review
July 15, 2026 11:41
syntrust
requested review from
blockchaindevsh,
iteyelmp,
ping-ke,
qizhou and
qzhodl
July 15, 2026 11:41
slave-m3 now carries the final fixture helpers and goleak TestMain in run_test.go, so this branch's edits to slave_test.go and run_test.go dissolve into the merge; TestRunGenesisMismatchExitsLoudly relocates into inspect_test.go next to the initDataDir helper it depends on. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The README sections this branch reshuffled now originate upstream; its diff reduces to the 'Inspecting a datadir' and follow-up checklist sections. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The inspect labels move with it (meta version -> record version, genesis metadata -> genesis record), keeping the value column aligned. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
M4 of #17, stacked on #38 (base:
slave-m3).What
slave inspect --datadir <d>for per-shard genesis record and head. Per-shard failures do not hide healthy shards.cmd/slave/README.mdwith inspect and follow-ups.Test
go test ./...— All tests passedmake all./build/bin/slaveconfig/genesis/inspect