Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tracking: trie debugging tool #10405

Closed
6 tasks done
rkrasiuk opened this issue Aug 20, 2024 · 2 comments
Closed
6 tasks done

tracking: trie debugging tool #10405

rkrasiuk opened this issue Aug 20, 2024 · 2 comments
Assignees
Labels
A-trie Related to Merkle Patricia Trie implementation C-enhancement New feature or request C-tracking-issue An issue that collects information about a broad development initiative

Comments

@rkrasiuk
Copy link
Member

rkrasiuk commented Aug 20, 2024

Describe the feature

Create a tool for debugging state root errors. For two reth nodes 1) stable instance with valid root output and 2) unhealthy instance with invalid root output, create a tool that gathers enough information from stable node to triage the bug in unstable one.

The tool is supposed to retrieve the execution witness and pre-images for the target block where root mismatch has happened. Then it should diff the witness information from an unstable node against a stable one:

  1. If they are different, the tool should compare the execution witnesses for the parent block:
    a) the tool should attempt the same process for the parent until it finds the highest ancestor with mismatched witness
    b) for the highest ancestor, the tool should unroll the witness into trie proofs and print them to stdout, leaf nodes should include key preimage and decoded values

  2. If they are the same, the tool should take the execution and trie outputs of the block and compare them

The tool should be first implemented as CLI option for the new engine that would take in an RPC URL of a stable node.

Tasks

  1. A-rpc C-enhancement
    shekhirin
  2. A-blockchain-tree A-consensus C-enhancement
    Rjected
  3. A-blockchain-tree A-cli C-enhancement S-stale
  4. A-blockchain-tree A-cli A-rpc A-trie
  5. A-blockchain-tree A-cli C-enhancement
    shekhirin
  6. A-blockchain-tree A-cli
    shekhirin

Additional context

No response

@rkrasiuk rkrasiuk added C-enhancement New feature or request C-tracking-issue An issue that collects information about a broad development initiative A-trie Related to Merkle Patricia Trie implementation labels Aug 20, 2024
@shekhirin
Copy link
Collaborator

@rkrasiuk can this be closed? We have a basic version of the witness hook that's enough for our needs implemented, and we can iterate on it outside of this tracking issue.

@rkrasiuk rkrasiuk closed this as completed Oct 3, 2024
@github-project-automation github-project-automation bot moved this from Todo to Done in Reth Tracker Oct 3, 2024
@rkrasiuk
Copy link
Member Author

rkrasiuk commented Oct 3, 2024

good job @shekhirin @Rjected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-trie Related to Merkle Patricia Trie implementation C-enhancement New feature or request C-tracking-issue An issue that collects information about a broad development initiative
Projects
Archived in project
Development

No branches or pull requests

3 participants